Javascript 表单不使用jquery post函数

Javascript 表单不使用jquery post函数,javascript,jquery,ajax,forms,post,Javascript,Jquery,Ajax,Forms,Post,但是,当我尝试对html表单使用post请求函数时,浏览器会忽略jquery post请求,而是发送get请求。换一双眼睛会很有帮助的 以下是脚本: $(document).ready(function () { var user = $("#username"); var pass = $("#password"); var submit = $("#submit"); $("#submit").click(function (event) {

但是,当我尝试对html表单使用post请求函数时,浏览器会忽略jquery post请求,而是发送get请求。换一双眼睛会很有帮助的

以下是脚本:

$(document).ready(function () {
    var user = $("#username");
    var pass = $("#password");
    var submit = $("#submit");

    $("#submit").click(function (event) {
        event.preventDefault();
        $.post("login.php", {
            username: user.val(),
            password: pass.val()
        }, function (data) {

            if (!data) {
                $("#login").append("Failed to reach server. Login Error.");
            }
            //$("div#login").hide();
            //$("div#welcome").css("display", "block"); else {
                loadpage();
            }

        }, "json");

        return false;
    });
});
这是html格式的表单,非常简单:

<Div id="welcome"> Welcome </div>
<Div id="login">
    <br><br><h2>Welcome to This Site</h2>
    <br><br><br><form id="form"> Username:
    <input type = "text" name = "username"> <br> Password:
    <input type = "password" name = "password" id = "password"> <br>
    <input type = "submit" name="submitbutton" id="submitbutton" class = "bluebutton"> 


</Div>
欢迎您


欢迎来到这个网站


用户名:
密码:
为了消除任何可能出现故障的地方,我在这里为PHP硬编码了一个用户名/密码:

<?
if($username == "harry" && $password == "potter")
{
    $_SESSION["user"] = array();
    $array = array();
    $array["valid"] = "valid";
    echo(json_encode($array));
}

?>


提前谢谢

我看到的问题是,在jquery中

$("#submit").click(function(event){
在html中,您有

 <input type = "submit" name="submitbutton" id="submitbutton" class = "bluebutton"> 


如果您在输入中输入id=“submit”,那么它应该可以工作:)

您的表单没有类似于
的结束标记,而且我在表单中也没有找到id
submit
的任何元素,因此它可能不会用以下代码触发函数

$("#submit").click(function(event){...});
应该是这样

$("#submitbutton").click(function(event){...});
返回false是不必要的,因为您已经使用了
event.preventDefault()

您的表单应该有一个结束标记。i、 e

<form id="myForm">
    <input type = "text" name = "username"> <br> Password:
    <input type = "password" name = "password" id = "password"> <br>
    <input type = "submit" name="submitbutton" id="submitbutton" class = "bluebutton">
</form>

非常感谢你!我在标签上完全隔开了,出于某种原因,我认为只要提交就可以了!:)
$('#myForm').on('submit', function(e){
    e.preventDefault();
    // Rest of your code
})