【发布时间】:2011-11-03 01:00:10
【问题描述】:
我在尝试重用 jQuery-UI 对话框时遇到了各种各样的问题。第一次一切正常。第二次,文本字段具有第一次到以前的值。为了使其工作,在我执行对话框(“打开”)之后的 click()函数中,我使用 $("#fname, #lname, #email").val(''); 手动清除文本字段值。这有效地清除了重复使用的字段,但是当我使用 serialize() 方法提交表单时,发送的数据看起来像这样fname=two&lname=2&email=two@aol.com&fname=First+Name&lname=Last+Name&email=Email+ad
dress。 “名字”、“姓氏”和“电子邮件地址”是使用一些我不理解的字段标签插件设置的水印。
主要问题是,必须有一些简单的方法可以在随后使用对话框,并按照第一次的方式进行初始化。 close() 方法似乎没有做到这一点。正在创建对话框,其中 autoOpen 设置为 false。
$("#user-form").dialog({
autoOpen: false,
height: 400,
width: 625,
modal: true,
resizable: false,
open: function(event, ui) {
$("#fname, #lname, #email").val('');
},
buttons: {
"Update": function () {
var bValid = true;
allFields.removeClass("ui-state-error");
if (bValid) {
$.get('AJAX/AddEditUser.php', $("#fname, #lname, #email").serialize(), function(){
$.get('users.php', function(data){
$("#contentcontainer").html(data);
});
});
$(this).dialog("close");
$("#wholeArea").hide();
$("#placeholder").show();
$("div.content-area").load('home.html');
}
},
Cancel: function () {
$(this).dialog("close");
}
},
close: function () {
allFields.val("").removeClass("ui-state-error");
}
})
【问题讨论】:
-
我们能看到打开对话框的代码吗?
-
对于您可能收到的所有通知,我们深表歉意。