提交按钮应该验证所有的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" />
答案 0 :(得分:0)
首先,name不是ASP.NET TextBox控件中的属性,对所有文本框使用通用的CssClass属性名称,在javascript中使用document.getElementsByClassName选择器来选择文本框。另请注意在OnClientClick decleration中添加return
。
<强> 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" />
JAVASCRIPT
function submit() {
for( var i = 0, t = document.getElementsByClassName( "test" ), l = t.length; i < l; i++ )
if( t[i].value=="")
return false;
return true;
}