I found 这个线程 https://stackoverflow.com/questions/366696/jquery-dialog-box这基本上和我有同样的问题。但他们的解决方案对我不起作用。
我第一次单击提交按钮时会出现该对话框,但第二次则不会。
我在提交表单后打开对话框。
UPDATE
我终于让它工作了。这是正确的代码:
if (jQuery('#registrationforms').length > 0) {
//instantiate the dialog
jQuery("#dialog").dialog({ modal:true, autoOpen:false });
//Some more code here to call processRegistration function.
}
function processRegistration(instanceID, formData)
{
jQuery.post("mypath/jquery_bll.php", { instance: 'processRegistration', formData : formData, instanceID : instanceID },
function(feedback)
{
jQuery('#dialog').text(feedback.message);
jQuery('#dialog').parent().addClass(feedback.type);
jQuery('#dialog').dialog('open');
},"json");
}
由于我动态应用 css 类,因此我必须确保将其添加到 $.dialog 创建的外部 DIV 中以包装我的“对话框”DIV。
我认为您引用的帖子中 RayLehman 高度投票的答案是正确的解决方案。
jQuery UI 的dialog() 函数实际上根据某些内容创建了一个对话框。您实际上并没有在任何地方的对话框中调用“打开”。
第一次通过调用dialog()创建对话框后,您只需要调用dialog("open")或dialog("close"),而不是每次都重新创建实际的对话框对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)