2012-05-30 2 views
0

OnClientClick에 몇 가지 문제가 있습니다.OnClientClick이 작동하지 않습니다.

이렇게 웹 양식에 버튼을 추가했습니다.

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
     style="top: 307px; left: 187px; position: absolute; height: 26px; width: 90px" 
     Text="Submit" OnClientClick="return validate()" /> 

그리고 난 즉시 <title><head> 내부 자바 스크립트를 쓰고 있어요.

<script language="javascript" type="text/javascript"> 
    function validate() { 
     if (document.getElementById("<%=TextBox1%>").value == "") { 
     alert("textbox1 should not be empty"); 
     } 
     else if(document.getElementById("<%=TextBox2 %>").value==""){ 
     alert("textbox2 should not be empty"); 
     } 
         } 
</script> 

TextBox1TextBox2 두 텍스트 상자의 ID의입니다.

하지만 제출 버튼을 클릭하면 OnClick이 실행되지만 OnClientClick은 실행되지 않습니다.

뭐가 문제입니까?

도와주세요.

+0

첫 번째 문제는 자바 스크립트 코드에 오류가 있으므로 예상대로 작동하지 않습니다. –

+1

OnClientClick = "javascript : return validate();"을 추가하십시오. 오류 콘솔에서 오류 테이블을 조사하여 스크립트에 오류가 없는지 확인하십시오. –

답변

6

텍스트 상자에서 ID를 가져 오는 경우 자바 스크립트에 <%=TextBox1.ClientID%>을 사용해야합니다.

오류가 발생하면 validate-function의 return false도 입력해야합니다.

document.getElementById("<%=TextBox1.ClientID%>").value 

document.getElementById("<%=TextBox2.ClientID%>").value 
+1

jQuery를 사용하면이 문제를 더욱 쉽게 해결할 수 있습니다. 그런 다음'document.getElementById ('<% = TextBox1.ClientID) 대신'$ ('# <% = TextBox1.ClientID %> '). %> '). value' – NoLifeKing

+0

감사합니다. 문제 해결됨. :) –

+0

괜찮습니다. 대답을 인정 된 대답으로 표시하는 것을 잊지 마십시오. :) – NoLifeKing

1

:

하는 것은 귀하의 자바 스크립트를 교체 클라이언트 측의 texbox.

1

내가 보는 첫 번째 것은, 당신이 .ClientID없이 "<%=TextBox1%>"를 사용하고 있는지, 을 인식하는 것입니다 : - 시도 이런 식으로

function validate() { 
    if(document.getElementById('<%=TextBox1.ClientID%>').value == '') { 
     alert('Textbox1 should not be empty'); 
     return false; 
    } 
    if(document.getElementById('<%=TextBox2.ClientID%>').value == '') { 
     alert('Textbox2 should not be empty'); 
     return false; 
    } 
} 
1

(document.getElementById("<%=TextBox1%>").value == "")

(document.getElementById("System.Web.UI.WebControls.TextBox").value == "") 렌더링 자연스럽게, 아이디없이, 당신은 자바 스크립트 객체를 찾을 수 없습니다 (아마뿐만 아니라 예외가 발생합니다).

그래서 document.getElementById("<%=TextBox1.ClientID%>").value을 자바 스크립트 기능에 사용해보세요.

관련 문제