Jquery由于某种原因没有发布

时间:2010-05-08 16:51:15

标签: jquery post

我写了这个小页面,出于某种原因,当我点击提交时没有任何反应(在firebug上检查,没有提交)

<head>
    <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
    <script type="text/javascript">

        $('form#login').submit(function() {
            $.ajax({
                type: 'POST',
                url: 'http://my.site/login.php',
                data: this.html(data),
                success: success,
                dataType: dataType
            })

        });






    </script>
</head>
<body>
    <form action="#" id="login">
        <input type="textbox" id="UserName" value="user">
        <input type="textbox" id="Password" value="password">
        <input type="submit" value="submit">
    </form>
</body>

1 个答案:

答案 0 :(得分:3)

您需要将代码包装在document.ready上运行,如下所示:

$(function() {
    $('form#login').submit(function() {
        $.ajax({
            type: 'POST',
            url: 'http://my.site/login.php',
            data: this.html(data),
            success: success,
            dataType: dataType
        })

    });
});

当前$('form#login')在页面中存在表单之前正在运行,因此它没有找到任何挂起该提交处理程序的内容,使其等待运行直到document.ready将解决此问题。至于为什么你没有看到萤火虫发生任何事情,你的默认表单行动目前正在发生,提交到#,例如无处可去......所以没有萤火虫的交通。