1

送信ボタンはすべてのtxtboxを検証する必要があるため、このコードを作成しまし
たが、機能していません。また、テキストボックスが空でない場合は、ポストバックしてonclickを呼び出す必要があります。

 function submit() {
      for( var i = 0, t = document.getElementsByName( "txt" ), l = t.length; i < l; i++ )     
         if( t[i].value)
            return true;

      return false;
   }

.aspx

<asp:TextBox name="txt" runat="server" ID="email" CausesValidation="True"
                          ClientIDMode="Static"  ValidationGroup="email" ></asp:TextBox>

 <b>Password:</b><br />
                        <asp:TextBox ClientIDMode="Static" ID="pwd" runat="server" name="txt" TextMode="Password" CausesValidation="True"></asp:TextBox>

 <asp:LinkButton ID="Submit" runat="server" CssClass="button" Text="Login"
                             onclick="Submit_Click" OnClientClick="submit()" CausesValidation="False" />
4

1 に答える 1

0

まず、name は ASP.NET TextBox コントロールのプロパティではありません。すべてのテキスト ボックスに共通の CssClass プロパティ名を使用し、javascript では document.getElementsByClassName セレクターを使用してテキスト ボックスを選択します。またreturn、OnClientClick 宣言に が追加されていることにも注意してください。

ASPX

<asp:TextBox CssClass="test" runat="server" ID="email" CausesValidation="True"
                          ClientIDMode="Static"  ValidationGroup="email" ></asp:TextBox>

 <b>Password:</b><br />
<asp:TextBox CssClass="test" ClientIDMode="Static" ID="pwd" runat="server" TextMode="Password" CausesValidation="True"></asp:TextBox>

 <asp:LinkButton ID="Submit" runat="server" CssClass="button" Text="Login"
                             onclick="Submit_Click" OnClientClick="return submit()" CausesValidation="False" />

ジャバスクリプト

function submit() {
      for( var i = 0, t = document.getElementsByClassName( "test" ), l = t.length; i < l; i++ )     
         if( t[i].value=="")
            return false;

      return true;
}
于 2012-10-24T20:27:51.543 に答える