我遇到了一些jquery对话框代码的问题。第一次打开窗口,如果我提交表单,它会在div中返回消息。但是,如果关闭对话框后,我再次打开它,它仍然保留消息并且尚未清除。此外,当我按下提交按钮时,它将打开两次php页面。它似乎每次打开对话框时都这样做。如果我再次关闭并打开对话框,它将打开php页面3次。我在哪里错了?
// feedback form
$(document).ready(function(){
function feedbacknew() {
// jquery-ui confirm dialog box
$("#form").dialog({
autoOpen: false,
resizable: false,
modal: true,
title: 'Submit a feedback request',
width: 440,
height: 470
/*buttons: {
'Remove': function () { // remove what you want to remove
// do something here
alert("this is a test alert!");
$(this).dialog('close');
$("#flex1").flexReload();
},
Cancel: function () {
$(this).dialog('close');
}
}*/
});
});
$('#submit').click(function () {
var name = $('.uname').val();
var data = 'uname=' + name;
$.ajax({
type: "POST",
url: "feedback.php",
data: data,
success: function (data) {
$('#message').html(data);
$("#flex1").flexReload();
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
return false;
});
$("#form").dialog('open');
}
答案 0 :(得分:0)
取出“$(”#form“)。对话框({....});”来自feedbacknew()函数的代码将它放在它上面(把它放在全局页面范围内,但在$(document).ready(function(){});)中。每次执行该函数时,您都要重新定义对话框。