jQuery:将 ajaxForm 绑定到通过 .load() 加载的页面上的表单

发布于 2024-08-21 04:18:36 字数 513 浏览 14 评论 0原文

我正在使用 jQuery 的 ajaxForm 插件在我的 web 应用程序上提交表单。然而,在应用程序的一部分中,我正在通过 jQuery 的 .load() 加载一些带有表单的内容。

问题在于我无法将 ajaxForm 绑定到通过 ajax 加载的表单。

我已尝试此代码但无济于事:

 $('#viewRecordBtn').live('click', function() { // Handle the event when the 'view record' button is clicked
    $("#tab2").load('ajax/viewRecord.php'); // Load the record and the form into tab 2
    $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form
 });

非常感谢任何帮助!


编辑:谢谢大家!这非常有效。

I'm using the ajaxForm plugin for jQuery to submit forms on my webapp. However, in one part of the app, I'm loading some content thathas a form on it via jQuery's .load()

The problem lies in that I can't get ajaxForm to bind to the form loaded via ajax.

I've tried this code to no avail:

 $('#viewRecordBtn').live('click', function() { // Handle the event when the 'view record' button is clicked
    $("#tab2").load('ajax/viewRecord.php'); // Load the record and the form into tab 2
    $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form
 });

Any help is REALLY appreciated!!


Edit: Thanks guys! This works perfectly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

江湖彼岸 2024-08-28 04:18:36

我认为你应该将绑定代码放入回调中,因为加载是异步的:

 $('#viewRecordBtn').live('click', function() { // Handle the event when the 'view record' button is clicked
    $("#tab2").load('ajax/viewRecord.php', function() {
                    $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form
               }); // Load the record and the form into tab 2    
 });

I think you should put binding code into a callback, because the load is asynchronous:

 $('#viewRecordBtn').live('click', function() { // Handle the event when the 'view record' button is clicked
    $("#tab2").load('ajax/viewRecord.php', function() {
                    $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form
               }); // Load the record and the form into tab 2    
 });
拿命拼未来 2024-08-28 04:18:36

如果您使用最新的 jQuery 表单插件和 jQuery 1.7+,您可以使用“委托”选项,如下所示:

$('#myForm').ajaxForm({
    delegation: true,
    target: '#output'
});

其描述如下: http://malsup.github.com/jquery.form.js

If you use latest jQuery Form Plugin and jQuery 1.7+ you can use 'delegation' option, like this :

$('#myForm').ajaxForm({
    delegation: true,
    target: '#output'
});

Its described in here: http://malsup.github.com/jquery.form.js

策马西风 2024-08-28 04:18:36

这是因为您在 .load() 尚未完成时绑定 ajaxForm。试试这个:

$('#tab2').load('ajax/viewRecord.php', function() {
  $('#formAddRecord').ajaxForm(formAddRecordOptions);
});

that is because you are binding ajaxForm at the time that the .load() is not yet complete. try this:

$('#tab2').load('ajax/viewRecord.php', function() {
  $('#formAddRecord').ajaxForm(formAddRecordOptions);
});
苏大泽ㄣ 2024-08-28 04:18:36
$('#viewRecordBtn').live('click', function() { 
   $("#tab2").load('ajax/viewRecord.php', function(){
       $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form
   }); // Load the record and the form into tab 2

});
$('#viewRecordBtn').live('click', function() { 
   $("#tab2").load('ajax/viewRecord.php', function(){
       $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form
   }); // Load the record and the form into tab 2

});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文