Javascript 如何通过AJAX提交dunamically添加的表单
我正在使用Javascript 如何通过AJAX提交dunamically添加的表单,javascript,jquery,forms,Javascript,Jquery,Forms,我正在使用jquery1.6这样的东西提交表单: jQuery('form.AjaxForm').submit( function() { $.ajax({ url : $(this).attr('action'), type : $(this).attr('method'), dataType: 'json', data : $(this).serialize(), success :
jquery1.6
这样的东西提交表单:
jQuery('form.AjaxForm').submit( function() {
$.ajax({
url : $(this).attr('action'),
type : $(this).attr('method'),
dataType: 'json',
data : $(this).serialize(),
success : function( data ) {
alert("success");
},
error : function( xhr, err ) {
alert("error");
}
});
return false;
});
上面的jQuery代码对我来说非常适合
但现在的问题是,我的表单是动态添加到网页上的。在这种情况下,上述代码不起作用。我还尝试了.live()
函数,但它仍然不适用于我:
// Ajax Forms
jQuery('form.AjaxForm').live( 'submit', function() {
// using jquery $.ajax() here;
return false;
});
我不知道为什么.live()
函数不能处理表单提交事件
有什么想法吗
谢谢您的设置一定有问题,jQuery工作正常,请仔细检查您的类名,确保在DOM就绪($(function(){};)和所有常规测试之后调用jQuery 请参阅下面的链接,了解如何使用动态添加的表单
您确定在将表单添加到页面后调用该代码吗?如果代码运行时表单不在那里,它肯定不会工作。另外,发布用于添加表单的代码也会有所帮助。@GabrielSantos:jsfiddles通过AJAX返回整个表单并不容易是的,但有些代码非常有用。添加了完整的代码,但当我使用
.live()
时,它什么都不做。您使用的是$(document).ready(function(){…})
?当我使用jQuery('form.AjaxForm').submit(function(){}
但当我将其更改为jQuery('form.AjaxForm').live('submit',function(){})时,同样的设置也在运行
,它什么也不做。即使正常情况下也不提交表单如果表单没有动态插入到页面中,那么它的设置就不一样了。如果检查差异,两个页面的呈现是否完全相同?因为从小提琴上可以看出,它与插入的表单一样工作,因此不能是jquery。