我的问题:
1)回发总是发生
2)这是查看 requiredFieldValidator 客户端是否有效的正确方法吗?
我想要什么:
用户单击可见的单击按钮。
这会调用 isValid()。
如果页面有效,则调用服务器端函数。
如果页面无效,请发出警报。
<asp:Button ID="btnSubmit" runat="server" Text="Submit" ToolTip="Submit" CausesValidation="true" CssClass="blueNew buttonNew"
OnClientClick="isValid(); return false;" />
<div style="display: none;">
<asp:Button ID="hiddenBtnSubmit" runat="server" OnClick="btnSubmit_Click" />
</div>
<script>
function isValid() {
if (Page_IsValid) {
var button = document.getElementByID("<%=hiddenBtnSubmit.ClientID%>");
button.click();
} else {
if (!reqFirstName.IsValid) {
alert("First name is invalid");
}
}
}
</script>
最佳答案
不,您只需添加验证器,如下所示:
<asp:TextBox runat="server" ID="txtEmail" />
<asp:RequiredFieldValidator
ErrorMessage="The email is required"
ToolTip="The email is required"
Text="(*)"
ControlToValidate="txtEmail"
runat="server" />
<asp:ValidationSummary runat="server" DisplayMode="BulletList" ShowMessageBox="true" />
每当您尝试提交表单时,验证都会在客户端执行,您不需要手动执行验证
输出将类似于:
编辑 1
<script type="text/javascript">
function validate() {
var val = Page_ClientValidate('');
if (!val) {
for (i = 0; i < Page_Validators.length; i++) {
if (!Page_Validators[i].isvalid) {
$("#" + Page_Validators[i].controltovalidate).qtip();
}
}
}
return val;
}
</script>
<asp:Button OnClientClick="return validate();" Text="Post" runat="server" />
关于javascript - 服务器端之前的客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443006/