2010-08-09 64 views
0

我一直在努力做後續關閉對話框:jQuery UI的當表單提交

  • 形式得到jQuery的對話框內顯示
  • 當表單被提交,jQuery的對話框應該關閉

我我正在嘗試以下代碼:

$('#RegisterDialog').dialog({ 
       autoOpen: false, 
       closeOnEscape: false, 
       position: 'center', 
       modal: true, 
       width: 600, 
       buttons: { 
        "Cancel account registration": function() { 
         $(this).dialog("close"); 
         window.location = 'http://localhost/'; 
        } 
       } 
}); 

$(".Register").click(function() { 
      $('#RegisterDialog').dialog("close"); 
      $('#RegisterDialog').hide(); 
}); 

但是,它會隱藏並重新彈出備份。我也試過'autoClose:false'。

請幫忙嗎?

+0

嗯,只是一個說明。這將在文檔加載時執行。這可能是一個問題嗎? 當表單被執行時,它會查詢到同一頁面。 – aam1r 2010-08-09 19:00:12

+1

目前你有autoOpen:false,並且頁面加載後不應彈出對話框。那麼你如何顯示你的對話框,$('#RegisterDialog')。對話框(「打開」)在哪裏?觸發? – ischenkodv 2011-03-03 20:27:33

回答

0

從jQuery的文檔...

.dialog("destroy") 
// Remove the dialog functionality completely. This will return the element back to its pre-init state. 

這可能做的伎倆。

0

我認爲你應該做這樣的

$(".Register").click(function() { 
      $('#RegisterDialog').dialog("close"); 
      //$('#RegisterDialog').hide(); --> no need to call this 
}); 
+0

剛剛嘗試過;不起作用。我也試過.dialog(「摧毀」),這也不起作用。它消失了一秒鐘,馬上回來。一些東西不斷觸發它回來似乎 – aam1r 2010-08-09 16:51:40

+0

然後請給予更多的細節,如果可能的話,所有的代碼... – 2010-08-09 18:31:16

1

你應該嘗試.remove()

這將刪除元素,它不會再彈出。