2011-03-10 7 views
0

asp.net 마법사 컨트롤이있는 페이지가있는 asp.net 응용 프로그램이 있습니다. 이 마법사 컨트롤에는 텍스트 상자 컨트롤이 있습니다. 자바 스크립트에서이 텍스트 상자 값에 액세스하려고합니다. 어디에서이하여이 텍스트 상자 컨트롤에 접근을 시도 같이자바 스크립트에서 마법사 컨트롤 내 컨트롤을 찾는 방법

var originalPrice2 = document.getElementById('<%= mytextbox.ClientID %>').value; 
or 
var originalPrice2 = document.getElementById('mytextbox').value; 

but not getting any value . 

내가 불을 지르고를 시작으로 나는 엔진이 동적으로 "ctl00_ContentPlaceHolder1_Wizard1_mytextbox" 로 텍스트 상자 컨트롤에 ID를 할당 발견하고 내가 가려고 할 때 텍스트 상자의 값을 사용하여 이것은 생성 된 ID입니다.

var originalPrice2 = document.getElementById('<%= ctl00_ContentPlaceHolder1_Wizard1_mytextbox.ClientID %>').value; 

하지만 예외가 점점 :

The name 'ctl00_ContentPlaceHolder1_Wizard1_mytextbox' does not exist in the current context 

왜 이것을해야 하는가? 내 HTML은 내가 설명한 것과 정확히 동일하다. jQuery를 사용하여

답변

0

시도 :

alert($("input:text[id$='mytextbox']").val()); 

또는

var originalPrice2 = document.getElementById('ctl00_ContentPlaceHolder1_Wizard1_mytextbox').value; 
+0

있는지? 두 번째 옵션은 모든 브라우저에서 동일하게 유지됩니까? 브라우저 변경에 따라 동적으로 다른 ID를 생성해서는 안되며, 응용 프로그램이 충돌합니다. –

+0

"브라우저 변경 사항과 같이 다른 ID가 동적으로"의미하는 것은 무엇입니까? 텍스트 상자 컨트롤을 찾지 못하셨습니까? – Sukhjeevan

+0

"ctl00_ContentPlaceHolder1_Wizard1_mytextbox"로 동적 ID를 누가 생성하는지 알려주세요. 브라우저를 생성하지 않으면 안전합니다. 그러나 브라우저가 생성 된 코드를 방해하는 경우 HTML을 생성하고 다른 브라우저에서 실행중인 응용 프로그램이 동일한 제어에 대해 다른 동적 ID를 생성 할 수있는 기회가 발생할 수 있습니다. 설명하고 싶은 걸 얻는거야? –

관련 문제