提交ajax表单,无需刷新页面

时间:2016-11-24 19:15:36

标签: php jquery ajax forms submit

我在index.php-

中有这个表单和ajax调用
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        if (Input.GetMouseButtonDown(0))
            Debug.Log("Pressed left click.");

        if (Input.GetMouseButtonDown(1))
            Debug.Log("Pressed right click.");

        if (Input.GetMouseButtonDown(2))
            Debug.Log("Pressed middle click.");

    }
}

我正在尝试使用add.php -

将其提交到数据库
 <form method='post' id='saleForm' >
    <input type='text' name='addCustomer' class='addInput' id='adlastname' placeholder='customer last name'>
    <input type='text' name='addYear' class='addInput'  id='adYear' placeholder='year'>
    <input type='text' name='addMake' class='addInput'  id='adMake' placeholder='make'>
    <input type='text' name='addModel' class='addInput'  id='adModel' placeholder='model'>
    <input type='text' name='addGross' class='addInput'  id='adGross' placeholder='front gross'>
    <input type='hidden' name='Id' value='<?php echo $id;?>'>
    <input type='submit' name='subSale'  id='subSale' value='Save' >
</form>

<script>
    $("form").submit(function(e) {
    var url = "add.php"; // the script where you handle the form input.

$.ajax({
       type: "POST",
       url: url,
       data: $("form").serialize(), // serializes the form's elements.
       success: function(data)
       {
           alert(data); // show response from the php script.
       }
     });

e.preventDefault(); // avoid to execute the actual submit of the form.
});
</script>

当我点击“保存”按钮时,它会显示空警报,并且数据因某种原因没有被推送。任何想法我在哪里错了?我知道插入是正确的,因为当我不使用ajax调用并且只使用表单操作时它可以工作..

1 个答案:

答案 0 :(得分:1)

使用jQuery提交表单时,不使用提交按钮。因此,一旦PHP收到发布的数据,它将变为空。 您的脚本正在检查$ subSale以执行查询,现在该查询失败。

尝试提供名为SubSale的隐藏输入,它将再次起作用。另一种解决方案是根据您自己的建议删除整个if语句。

if(isset($subSale)){