2013-06-25 3 views
1

내 DropDownList에서 선택한 항목에 따라 값을 변경하는 텍스트 상자가 있습니다. 지금까지 너무 좋아.텍스트 상자 텍스트 가져 오기, 자바 스크립트가 변경되었습니다.

하지만 그 텍스트를 뒤에 코드로 가져 와서 가져 오려는 경우 아무 것도 검색하지 않습니다. 서버 textboxcontrol이 상태 또는 정보를 변경하지 않았기 때문입니다 (솔루션이 아니라 문제를 알고 있습니다).

질문은 어떻게 코드 비하인드에서 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

을 asp.net의 렌더링 된 ID는 코딩을 사용하는 ID와 다르며 .ClientID을 사용하여 얻을 수 있습니다.

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

나는 그가 클라이언트에서 서버로 다른 방향으로 가고 싶어한다고 생각한다. –

+1

@ HanletEscaño 그래,하지만 작동하도록 클라이언트에서 jQuery를 사용하여 값을 변경하려면 텍스트 상자의 올바른 ID가 있어야합니다. – Aristos

+0

Yah, 내 잘못은 맞습니다. –

관련 문제