2012-11-19 31 views
1

我們試圖在jQuery對話框中創建一個註冊表單,但是應該從文本框傳輸信息的按鈕不會發送信息 - 意思是我所做的c#函數,接收空白數據。我們擁有的代碼是:Asp的表單輸入字段未能通過jQuery對話框的信息

這是提交信息的按鈕(我們的提交按鈕是jQuery的對話框的div以外,它是隱藏的,我們用另一個JS生成按鈕作爲快捷方式):

<asp:Button ID="btntwo" runat="server" style="display:none" Text="" OnClick="registerSubmit_Click" /> 

這是創建我們的jQuery對話框的代碼(我們有模仿我們的ASP按鈕的點擊javascript函數):

$('#Register').dialog(dialogOpts); 
$.fx.speeds._default = 500; 
$(function() { 
    $("#Register").dialog({ 
     autoOpen: false, 
     buttons: { 
      Ok: function() { 
       $("[id*=btntwo]").click(); 
       $('form').append('#Register'); 
      } 
     }, 
     show: "blind", 
     hide: "explode" 
    }); 

這是我們用我們的輸入字段,分別位於代碼我們jQuery對話框:

<asp:TextBox ID="username_textbox" runat="server" /> 

這是我們的c#函數,它接受來自輸入字段的數據並在此之後使用此數據。

string username = username_textbox.Text; 

這是我們的問題:預期的結果是用戶名變量是無論是由用戶輸入,而是這個變量只接收空白數據「」。

+0

當你刪除的樣式=「無顯示」? – AlbertVo

+0

是的,那麼按鈕只是可見的,但仍然無法正常工作。 – Apostrofix

回答

4

我相信jQuery對話框需要一段HTML,將它包裝在對話框容器中並將其附加到body元素,這意味着您的輸入元素不再處於您的表單中,這就是爲什麼它們不被傳輸......只有輸入元素提交的內容被髮送回服務器,表單外的其他輸入元素(包括其他表單)則不會。

+0

好吧,我明白了,但我怎麼才能轉移在文本框中輸入的信息? – Apostrofix

+0

好吧,您可以在OK按鈕處理程序中添加一些代碼,將整個對話框與輸入元素一起回到表單。簡單$('form')。append('#dialogID')應該可以做到。 – Nox

+0

好吧,我像你說的那樣添加它,它現在在jQuery對話框中,但仍然沒有任何反應。我已更新第一篇文章,以便您現在可以看到它。 – Apostrofix

相關問題