我的问题:
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>
答案 0 :(得分:2)
不,你只需添加这样的验证器:
<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" />
当您尝试提交表单时,验证将在客户端上执行,您无需手动执行验证
输出类似于:
<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" />