양식을 처음 제출할 때 어떤 이유로 작동합니다. 그러나 두 번째로 (페이지를 다시로드하지 않고) 양식을 제출하면 양식이 두 번 제출됩니다. 세 번째 시간을 제출하면 세 번의 제출을 받게됩니다.jQuery Dialog가 여러 번 양식을 제출합니다.
내가 뭘 잘못하고 있는지 모르겠다. (그리고 긴 게시물에 대한 죄송)
내 클릭 이벤트 :
$(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()를 추가 하시길 바랍니다. –