Javascript 如何阻止动态加载的表单使用jquery提交?

Javascript 如何阻止动态加载的表单使用jquery提交?,javascript,jquery,Javascript,Jquery,我正在开发一个AJAX登录系统。现在,当用户单击链接时,当用户单击“登录”链接时,登录表单将动态加载。因为我使用AJAX来实现这一点,所以我希望在单击submit按钮时防止表单实际提交。作为加载函数的一部分,我尝试了以下代码,表单加载正确,但表单仍然正常提交 $('#loginBox').load('loginform.php'); $('#loginBox form').submit(function(event) { event.preventDefault(); }); 如何修复此问题

我正在开发一个AJAX登录系统。现在,当用户单击链接时,当用户单击“登录”链接时,登录表单将动态加载。因为我使用AJAX来实现这一点,所以我希望在单击submit按钮时防止表单实际提交。作为加载函数的一部分,我尝试了以下代码,表单加载正确,但表单仍然正常提交

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

如何修复此问题?

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

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

jQuery.load是一个异步函数。

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

$('#loginBox').load("form.html", function() {
    $('#loginBox form').submit(function(event) {
        event.preventDefault();
    });
});
顺便说一句-在您的情况下,无论是使用event.preventDefault()还是return false,都没有关系。它们都会阻止您提交表单。(见附件)

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