0

我的问题:

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>
4

1 回答 1

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" />

每当您尝试提交表单时,验证都会在客户端执行,您无需手动执行验证

输出将类似于:

在此处输入图像描述

编辑 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" />
于 2012-07-11T23:32:05.627 回答