由于某种原因,我第一次提交表单时,它可以正常工作。但是,当我第二次提交表单时(无需重新加载页面),它将提交表单两次。当我第三次提交时,我收到三份意见书 - 等等。jQuery对话框多次提交表格
我不知道我在做什么错。 (和长期职位对不起)
我的单击事件:
$(document).ready(function() {
$('#new-post').click(function(event) {
event.preventDefault();
$(this).newPost({
title : 'New Post Form',
type : '1'
});
});
});
我的插件:
(function($) {
$.fn.newPost = function(options) {
var defaults = {
container : '#post-popup',
title : 'New Post',
type : ''
};
var settings = $.extend({}, defaults, options);
$(settings.container).dialog({
autoOpen : false,
width : 765,
modal : false,
resizable : false,
title : settings.title,
close : function (event, ui) { $(this).dialog('destroy'); }
}).dialog('open');
$(settings.container).submit(function() {
event.preventDefault();
var form = $(settings.container);
var formData = {
postTitle : $('#title').val(),
postBody : $('#body').val(),
postType : settings.type
};
$.ajax({
type : 'POST',
url : form.attr('action'),
data : formData,
success : function(data) {
$(form).get(0).reset();
$(form).dialog('close').dialog('destroy');
},
error : function() {
}
});
return false;
});
};
})(jQuery);
每个对话追加都没有被替换,如果你查看生成的源代码,你会看到这个,你想添加.remove()关闭 – 2011-02-18 02:00:39