2009-09-21 115 views
0

我使用ajaxForm插件提交表单后打开对话框。 ajaxForm更新对话框内容。jquery对话框 - 额外的对话框打开

问题是打开了一个额外的对话框。这里的javascript代码:

function formSubmit(target, form, success){ 
    var formoptions = { 
     target: target, 
     success: success 
    }; 
$(form).ajaxForm(formoptions); 
} 

function createDialog(element){ 
    $(element).dialog({ 
      modal: true, 
      autoOpen: false, 
      buttons: { 
       Ok: function() { 
        $(this).dialog('close'); 
       } 
      } 
     }); 
} 
在我的负载功能

createDialog(".formresponse"); 
$(".contact_submit").click(function(){ 
    formSubmit('.formresponse', '.submitform', function(){ 
     $('.formresponse').dialog('open'); 
    }); 
}); 

回答

0

实际上,JQuery-Ui Google小组中的某个人向我指出了正确的方向。我在我的页面中有两个具有.formresponse类名的div。

我把它移出php while循环,这样它只在页面上有一次,现在它可以工作。

傻我。

哦,它只提交一次,我检查了Firebug。

Jquery在按钮上发布返回false的功能很好。

0

是.contact_submit一个< input type="submit">?我想也许当点击提交两次,一次通过正常手段,一次通过ajax。请尝试使用<input type="button">来查看是否仍有2个对话框。