2013-06-25 41 views
1

我有一個文本框,我更改值取決於在我的DropDownList中選擇什麼。 目前爲止這麼好。獲取文本框文本,JavaScript已更改

但是,當我想要獲取該文本後面的代碼時,它不會檢索任何內容。 (我知道問題,而不是解決方案)

問題是,我怎樣才能得到在JavaScript代碼隱藏更新的文本? (我將在下面提交代碼示例) (注:這不是我的代碼,它只是一個簡單的例子)

<asp:Panel ID="AnswerPanel" runat="server" > 
    <asp:TextBox ID="tbxExample" runat="server" ></asp:TextBox>     
</asp:Panel> 
<asp:Button ID="btnSend" onClientClick="Example" runat="server" Text="Send" /> 

的Jquery:

function Example{ 
    $('#tbxExample').val("Test"); 
} 

代碼隱藏

string ex = tbxExample.Text; // I want it to say "Test", but it comes out as "" 
+0

是一個類型錯誤,你忘記了函數'Example'上的'()'? – Aristos

回答

2

您可以使用ASP.NET隱藏字段對此進行輕微的破解。可以創建用於存儲隱藏字段一個JS變量,分配值,然後拉在服務器側值:

與ID創建隱藏字段(在此示例中,ID是hiddenTest):

JS:

$hiddenField = $("#<%= hiddenTest.ClientID %>"); 
$('#<%=tbxExample.ClientID%>').blur(function() { 
    $hiddenField.val(this.value); 
}); 

您現在應該能夠訪問隱藏字段後面的代碼,它應該有正確的值。

+0

這很方便!我想我現在就能得到它的工作! 謝謝! –

1

呈現的聊天室的id是不同於你使用的編碼,你可以使用.ClientID作爲:

$('#<%=tbxExample.ClientID%>').val("Test"); 
+0

我認爲他需要的是從客戶端到服務器的其他方式。 –

+1

@HanletEscaño是的,但要使它工作,使用jQuery從客戶端更改值必須具有正確的文本框ID – Aristos

+0

耶,你是正確的我的壞。 –