<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtb3" runat="server" required></asp:TextBox>
<asp:TextBox ID="txtb2" runat="server" required></asp:TextBox>
<asp:TextBox ID="txtb1" runat="server" required></asp:TextBox>
<asp:Button ID="btnBack" runat="server" Text="btn 2" OnClick="btnBack_Click" />
<asp:Button ID="btnSubmit" runat="server" Text="btn 1" OnClick="btnSubmit_Click" />
</div>
</form>
这是我的代码页。我有两个按钮,需要在提交按钮验证,但不需要在后退按钮验证。怎么做!!!
答案 0 :(得分:1)
您可以编写javascript来防止后退按钮。以下是您需要的代码段。
<script type="text/javascript">
function setNoValidate() {
for (var f = document.forms, i = f.length; i--;) f[i].setAttribute("novalidate", i);
document.forms[0].submit(); // replace 0 with with actual form name, like document.formSub
}
</script>
<asp:Button ID="btnBack" runat="server" Text="btn 2" OnClientClick="setNoValidate();" />
<强>更新强>
您可以使用HTML5属性formnovalidate
来转义HTML5验证,即直接使用<asp:Button ID="btnBack" runat="server" Text="btn 2" formnovalidate />
代替上述脚本。 Explained here
注意:CausesValidation
用于处理asp.net验证器的验证,而不是HTML5验证。
答案 1 :(得分:1)
使用formnovalidate标签以避免验证---
formnovalidate =&#34; formnovalidate&#34;
<asp:Button ID="btnBack" runat="server" Text="btn 2" OnClick="btnBack_Click" formnovalidate="formnovalidate" />
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtb3" runat="server" required></asp:TextBox>
<asp:TextBox ID="txtb2" runat="server" required></asp:TextBox>
<asp:TextBox ID="txtb1" runat="server" required></asp:TextBox>
<asp:Button ID="btnBack" runat="server" Text="btn 2" OnClick="btnBack_Click" formnovalidate="formnovalidate" />
<asp:Button ID="btnSubmit" runat="server" Text="btn 1" OnClick="btnSubmit_Click" />
</div>
</form>
答案 2 :(得分:0)
这是正确的方法:=)
<asp:Button ID="btnBack" runat="server" Text="btn 2"
OnClick="btnBack_Click" CausesValidation="False"/>
答案 3 :(得分:0)
只需在您不希望触发html5验证的按钮上添加 formnovalidate =&#34; formnovalidate&#34; 。