2011-11-15 2 views
1

내 응용 프로그램에서 나는 자바 스크립트를 사용하여 텍스트 상자의 값을 경고하고 싶습니다.getElementById가 asp.net에서 작동하지 않습니다

영문 페이지 코드

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 

    <script type="text/javascript"> 
     alert("hi"); 
     alert(document.getElementById('<%=textbox1.ClientID%>').value); 
</script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:TextBox runat="server" ID="textbox1" Text="asdsad"> 
      </asp:TextBox> 
    </div> 
    </form> 
</body> 
</html> 

나는 단지 내가 "개체 필요"오류가 경고 '안녕하세요'..after를 얻을. 이유가 뭐야?

+0

document.ready()에 포장하십시오 –

+0

내가 투표를 한 이유는 무엇입니까? .. comment comment ... 그래서 나는 내 다음 게시물에 그것을 향상시킬 수 있습니다 –

+0

@ 라이온 .. :) .... –

답변

4

요소가 화면에 표시되기 전에 코드가 실행 중입니다. 시도해보십시오 -

window.onload = function() { 
    alert("hi"); 
    alert(document.getElementById('<%=textbox1.ClientID%>').value); 
} 

또는 아래 주석에서 Tejs가 제안한대로 스크립트를 페이지 하단으로 이동하십시오.

+1

기본적 으로이. 본문 요소가로드되기 전에 head 요소의 스크립트가 실행됩니다. 가장 쉬운 방법은 '

1

페이지가 아직로드되지 않았습니다. 코드에 함수를 넣고 트리거해야합니다.

onload = yourfunction;

1

페이지 하단에 스크립트 코드를 입력하고 스크립트 위치를 변경하십시오. 양식 태그를 작성한 후 완료하십시오.

1

당신이 얻으려고하는 ID는 서버 측 ID이며 요소의 html ID가 아닙니다. 방화 광을 사용하여 확인한 경우 id에 추가 문자와 숫자가 asp.net, i 대신 jquery를 사용하여 특정 요소를 선택하기 위해 dom으로 이동하는 것이 좋습니다.

또한 이름과 getByName을 추가 할 수 있습니다.

관련 문제