如何通过jquery提交动态加载的表单?

时间:2011-02-26 15:17:41

标签: javascript jquery

我正在开发一个AJAX登录系统。现在,当用户点击链接时,当用户点击“登录”链接时,会动态加载登录表单。由于我正在使用AJAX,我想阻止表单在单击提交按钮时实际提交。我尝试将以下代码作为我的加载函数的一部分,并且表单正确加载,但表单仍然正常提交。

$('#loginBox').load('loginform.php');
$('#loginBox form').submit(function(event) {
 event.preventDefault();
});

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

jQuery.load是一个异步函数。

这意味着当您尝试匹配“#loginBox表单”时,表单可能尚未可用。 要确保在加载表单后执行代码,必须将代码作为回调函数传递给加载。

$('#loginBox').load("form.html", function() {
    $('#loginBox form').submit(function(event) {
        event.preventDefault();
    });
});

顺便说一句 - 在你的情况下,使用 event.preventDefault()返回false 并不重要。它们都会阻止您的表单被提交。 (见event.preventDefault() vs. return false

答案 1 :(得分:3)

添加return false以防止出现默认行为:

$('#loginBox form').submit(function(event) {
   return false;
});

答案 2 :(得分:1)

    $('#loginBox form').submit(function(event) {
return false;
});