2017-05-19 20 views
0

私はVisual Studio 2012を使用して、ASP.NETを使用してWebアプリケーションを構築しています。ASP.NETクライアント側の検証スクリプトが機能しない

<asp:TextBox ID="textBox1" runat="server"></asp:TextBox> 

上記のコードは、テキストボックス上

<script type="text/javascript"> 
    function validate2() { 
     if (document.getElementById("<%=textBoxToolID.ClientID%>").textContent=="") { 
      alert('textbox1 cannot be empty'); 
      return false; 
     } 
    } 
</script> 

ため、私はヌルテキストボックスのクライアント側の検証のために使用されるコードです。

<asp:Button ID="buttonNew" runat="server" Text="New" Width="75px" OnClick="buttonNew_Click" OnClientClick="validate()" /> 

私はボタンクリックイベント時にvalidate関数を呼び出すためにonclientclickプロパティを呼び出しています。 テキストボックスにコンテンツがあっても警告メッセージが表示されるという問題があります。

私は間違っているとは何ですか?

+0

その '.value'ないtextContent' – Searching

+0

のdocument.getElementById( "<%= textBoxToolID.ClientID%>")値' .value'問題の – JYoThI

+0

独立した - 。あなたはから 'false'を返すをしていますこの機能は、しかし、あなたはボタンを教えていない。 'OnClientClick ="になるには 'return'を追加する必要がありますreturn validate()" ' – freefaller

答えて

1
<script type="text/javascript"> 
function validate2() { 
    if (document.getElementById("<%=textBoxToolID.ClientID%>").value=="") { 
     alert('textbox1 cannot be empty'); 
     return false; 
    } 
}</script> 

それは.VALUE

+0

ありがとう。それは働いている。値はintellisenseによって表示されていなかったので、私は.textcontentを使用しました。しかし、好奇心のために、テキストコンテンツはとにかく何をしますか? – Reshi

+0

確かにわかりませんが、あなたのタグにテキストパラメータが使用されているときにテキストコンテンツが使用されていると思われます。これはおそらく従来のものです。答えがあれば他の人がこれを見つけることができるようにしてください – Jelman

0

asp.netは、ユーザー入力を検証するためのそれ自身のコントロールを持っています。 read up on thoseにすることもできます。

<asp:TextBox ID="textBox1" runat="server"></asp:TextBox> 

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic" 
    ControlToValidate="TextBox1" ErrorMessage="textbox1 cannot be empty" ValidationGroup="myGroup1"> 
</asp:RequiredFieldValidator> 

<asp:Button ID="Button1" runat="server" ValidationGroup="myGroup1" Text="Button 1" OnClick="Button1_Click" /> 



<asp:TextBox ID="textBox2" runat="server"></asp:TextBox> 

<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" Display="Dynamic" 
    ControlToValidate="TextBox2" ErrorMessage="textbox2 cannot be empty" ValidationGroup="myGroup2"> 
</asp:RequiredFieldValidator> 

<asp:Button ID="Button2" runat="server" ValidationGroup="myGroup2" Text="Button 2" OnClick="Button2_Click" /> 
+0

私はそれを試しました。常に検証されています。この検証イベントがいつ起きるかについて私はコントロールできません。ウェブページをクリックすると、このイベントが発生します。ボタンを使用してこのイベントを制御する方法を知っている場合は、詳細を共有します。ありがとうございました – Reshi

+0

私は私の答えを更新しました。あなたは 'ValidationGroup'を探していたと思います。同じページに複数のバリデータと入力を区切ることができます。 – VDWWD

関連する問題