我有一个通过XHR引入的表单,我需要能够在其上绑定一个事件,以便提交。我已经下载了jquery.form.js插件。什么是执行后期绑定的最佳方式,以便我可以执行以下操作:
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
不幸的是,因为当DOM首次填充时表单不可用,所以这不起作用。
**编辑**
我尝试通过XHR检索表单后绑定到表单并且没有太多运气。这是它的外观:
$.get("foo.php", function(data) {
$('#my_form').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
答案 0 :(得分:2)
jQuery 1.3引入了"Live" events,它将绑定到选择器定义的任何当前和未来元素。
我没有对它们做过任何事情,但你应该做的事情似乎是合理的:
$(document).ready(function() {
$('form').live("ready",function() {
alert("Something");
});
});
不确定准备好的事件在这种情况下是否真的有效,但似乎值得一试。
答案 1 :(得分:1)
我认为你做得不对。我使用jquery表单的方式是:
$('#myform').submit(function(){
$(this).ajaxSubmit(function(){
alert('Thanks for your comment');
});
return false
});
将表单注入DOM后调用此方法。 另一种方法是使用jquery
中的live
绑定
$('#myform').live('submit', function(){
$(this).ajaxSubmit(function(){
alert('Thanks for your comment');
});
return false
});
您选择的任何方式都必须将此段代码包含在$(document).ready()
答案 2 :(得分:0)
在XHR请求回调上执行绑定。
答案 3 :(得分:0)
在通过XHR加载表单后绑定事件。