2013-07-08 84 views
1

確定這個問題最初被問得不好。這裏有更多的信息和我的代碼的一大塊。該代碼背後的思想是一個aspx表單,它具有用戶輸入信息,然後使用提交按鈕將代碼(使用C#)提交給mySQL服務器。當他們忘記進入推銷員時,會打開一個對話框,要求他們再次輸入推銷員。如何重新啓用提交表單後,已被阻止

下面是該對話框的代碼。

<div id="dialog" title="Dialog Title"><asp:label id="lblSalesman" onChange="GetSalesman()" Runat="server" /></div> //THE ASP:LABEL REFERS TO A DROP DOWN LIST THAT WAS CREATED AND POPULATED BY c#. 
    <script type="text/javascript" language="javascript"> 
     function stopSubmit() { 
     $('form').bind('submit', function (event) { 
     event.preventDefault(); 
     }); 
          } 

     $("#dialog").dialog({ 
     autoOpen: false, 
     modal: true, 
     buttons: { 
     "Save": function() { 

     $('#btnSubmit').click('btnSubmit'); //THIS IS SUPPOSED TO CLICK A BUTTON ON THE ORIGINAL ASPX FORM THAT WILL TRIGGER C# TO SUBMIT THE FORM TO A MYSQL SERVER 
     $(this).dialog("close"); 
     } 
     } 
     }); 

     $("#opener").click(function() { 
      stopSubmit();      
      $("#dialog").dialog("open"); 
     }); 

    </script> 

全部大寫是評論給你們。

此對話框通過驗證聲明觸發。如果驗證失敗,對話框運行。我把這個,

$('form').bind('submit', function (event) { 
     event.preventDefault(); 
在功能

所以在這種情況下,代碼不能運行,然後我提出我的原始形態上按鈕,如果確認出現真正的仍然有效。這有效地阻止對話框在對話框被觸發後重新加載頁面。問題是對話框中的SAVE按鈕無法運行$'(#btnSubmit')。click('btnSubmit');因爲event.preventDefault會阻止內置於按鈕中的提交無效。有什麼辦法可以撤消event.preventDefault()或其他提交表單的方式嗎?

+0

所以在標題和標籤jQuery的對話框,其實是一個完整的紅鯡魚? – Alnitak

回答

0

對不起,這個問題的混淆。它對我來說完全是一個桃子。儘管我找到了答案。我使用下面的代碼允許再次提交。

$('form').unbind('submit'); 

這只是解除綁定

event.preventDefault(); 
從提交事件

1

<form onsubmit="return false"></form>它將工作

$("#btnSubmit").trigger("click"); 
+0

這使得對話框不能重新加載頁面,但我的表單提交按鈕仍然斷開。 – Richard

+0

它會起作用。如果你仍然有問題,然後張貼你的代碼有問題 – Rickyrock

+0

理查德@根據我的理解通過您的額外信息,您正在嘗試類似於下面的情況:如果表單驗證爲false,那麼將顯示對話框並且不應該提交表單。如果表單驗證是真的,那麼應該提交表單。首先:將驗證表單中的對話框置於假狀態。第二:寫在提交按鈕上: - onclick =「返回驗證()」注意:返回應該提到 – Rickyrock

0

此代碼將停止腳本返回到服務器。返回假停止執行腳本在客戶端

$('form').on('submit', function(event){ 
return false; 
}); 
+0

這使對話框不能重新加載頁面,但我的表單提交按鈕仍然中斷。 – Richard

+0

@Richard你能提供你的HTML嗎? –