2011-08-01 7 views
0

JScript 함수에서 단추에 텍스트를 설정하려고합니다. 나는 올바르게 설정과 같은 JScript의 기능 ... 해당 컨트롤은 다음과 같이 정의 할 수 있습니다JScript를 사용하여 단추의 텍스트를 설정하는 방법은 무엇입니까?

function myfunction(sender, eventArgs) 
    { 
     wanted_text = window.source_text_field.get_displayText(); 

     if (document.getElementById("my_span_element") != null) 
     { 
      document.getElementById("my_span_element").innerText = wanted_text; 
     } 

     if (document.getElementById("my_button") != null) 
     { 
      document.getElementById("my_button").text = wanted_text; 
     } 

    } 

...

<span id="my_span_element" class="some_class"></span> 

    <asp:Button id="my_button" 
       runat="server" 
       class="some_other_class" 
       text="" 
       Width="48" 
       Height="25" 
       onclick="do_foo"/> 

스팬 요소의 텍스트를 사용하고 있지만, 버튼은 영향을받지 않습니다 . 나는 또한 innerText, Value, Text을 시도했지만 this question에 대한 답변을 사용하려고했지만 아무 소용이 없습니다.

내가 간과 한 것을 누구든지 볼 수 있습니까?

답변

2

여기에 2 문제가 있습니다 당신이 잘못 속성을 사용은 - 대신 "텍스트"

의 "값"이어야합니다 둘째 : document.getElementById("my_button")은 ASP.NET이 자신의 ID를 컨트롤에 할당하기 때문에 작동하지 않습니다. 생성 된 마크 업을 살펴보면 요소의 ID가 완전히 다른 것을 알 수 있습니다. 자바 스크립트가 <asp:button /> 제어와 같은에서 .aspx 페이지의 내부에있는 경우

, 다음과 같이 할 수 있습니다

document.getElementById("<%= my_button.ClientID %>").value = "some text"; 
3

ASP.Net은 서버 컨트롤에 대한 자체 ID를 생성합니다.

생성 된 ID를 얻으려면 <%= my_button.ClientID %>을 작성해야합니다.

+0

SLaks이 권리입니다. asp : Button과 같은 asp.net 태그를 사용하면 서버는 최종 HTML을 브라우저로 보내기 전에이 태그를 평가하여 적절히 렌더링합니다. 소스를 살펴보면 ctl00_MasterPageBody_ctl01_my_button과 같은 클라이언트 쪽 id가 앞에 추가 된 asp : Button에 대한 mrdc

5

변경 버튼의 .value 속성 :

첫째 :

document.getElementById("my_button").value = "new value"; 
관련 문제