Javascript HTML提交表单而不刷新页面和显示警告框

Javascript HTML提交表单而不刷新页面和显示警告框,javascript,php,html,forms,alert,Javascript,Php,Html,Forms,Alert,我想将表单提交到php,然后数据将更新到数据库,并显示警报框。 现在,数据已更新数据库,但警报框未显示。 我的代码有什么问题?? 谢谢 test.html <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> function SubmitFo

我想将表单提交到php,然后数据将更新到数据库,并显示警报框。 现在,数据已更新数据库,但警报框未显示。 我的代码有什么问题?? 谢谢

test.html

<!DOCTYPE html>
<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
        function SubmitForm() {
        var category_id = $("#category_id").val();
        var category_name = $("#category_name").val();
        $.post("test.php", { category_id: category_id, category_name: category_name },
           function(data) {
             alert("Finish!");
           });
        }
    </script>
</head>
<body>

    <form action="test.php" method="post">
        category_id: <input type="text" name="category_id" id="category_id"/>
        category_name: <input type="text" name="category_name" id="category_name"/>
        <input type="button" id="searchForm" onclick="SubmitForm();" value="Send" />
    </form> 
</body>
</html>

函数SubmitForm(){
var category_id=$(“#category_id”).val();
var category_name=$(“#category_name”).val();
$.post(“test.php”,{category\u id:category\u id,category\u name:category\u name},
功能(数据){
警报(“完成!”);
});
}
类别识别码:
类别名称:
test.php

<?php

$a = $_POST['category_id'];
$b = $_POST['category_name'];


$link = mysql_connect('localhost','root',''); 
mysql_select_db("fyp", $link);
$sql = "INSERT INTO category (CID, Category) VALUES (".
         PrepSQL($a) . ", " .
         PrepSQL($b) . ")";

mysql_query($sql);

function PrepSQL($value)
{
    // Stripslashes
    if(get_magic_quotes_gpc())
    {
        $value = stripslashes($value);
    }

    // Quote
    $value = "'" . mysql_real_escape_string($value) . "'";

    return($value);
}
?>
试试这个

function SubmitForm() {
    var category_id = $("#category_id").val();
    var category_name = $("#category_name").val();
    $.post("test.php", { category_id: category_id, category_name: category_name })
    .done(function(data) {
           alert("Finish!");
    });
}
文档

尝试以下操作:

  $.post("test.php", { category_id: category_id, category_name: category_name })
      .done(
           function(data) {
               alert("Finish!");
           }
      );

你把三个参数放在那里,它应该是两个。您可以尝试以下方法:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
    function SubmitForm() {
    var category_id = $("#category_id").val();
    var category_name = $("#category_name").val();
    $.post("test.php", { category_id: category_id, category_name: category_name })
    .done(function() {
      alert("Finish!");
    });
    }
</script>

函数SubmitForm(){
var category_id=$(“#category_id”).val();
var category_name=$(“#category_name”).val();
$.post(“test.php”,{category\u id:category\u id,category\u name:category\u name})
.done(函数(){
警报(“完成!”);
});
}

祝你好运

试试这个解决方案

    function SubmitForm() {
        var category_id = $("#category_id").val();
        var category_name = $("#category_name").val();
        $.ajax({
               type: "POST",
               url: "test.php", 
               data: { category_id: category_id, category_name: category_name }
        }).done (function() {
             alert("Finish");
        }).fail (function(status) {
            console.log(status);          
        });

现在检查数据,看看出了什么问题。

1)他使用的是按钮,而不是提交。2) 他的问题甚至不是抱怨重定向。use.done()获得成功,或.fail()获得失败的响应。为什么不使用$.ajax来配置所有参数?我是javascript/php的初学者,对ajax不太熟悉。user2108245查看下面的解决方案。。。。它只是一个简写符号,您可以使用多个选项进行自定义。例如,请查看try chaining
.fail(function(){alert(“error”);})
,查看表单是否有错误。您的test.php页面上似乎没有正确完成某些内容-尝试实际向其发布变量(不使用ajax),并查看页面是否正确加载。我试图修改.php文件。但还是失败了…我想你可能真的需要在屏幕上写些东西来获得成功的回复,看看这个:谢谢。但还是没有出现。我试图添加一个.fail(),结果显示失败弹出窗口。是的,然后问题是响应对象没有返回成功。尝试控制台中的console.log(数据)失败。我正在编辑我的答案来做到这一点。