在ASP.NET Web窗体中POST之前,如何在验证后运行我的脚本?

时间:2016-01-16 02:39:19

标签: jquery asp.net

我想使用public enum Media { case Search(String) var path:String { switch self { case Media.Search(let keyword): return "/media/search/\(keyword.URLEscapedString)" } } } (例如RequiredFieldValidator)进行验证。 但他们可以通过按钮提交两次甚至更多。

WebControls.Validator

我尝试了这段代码,但是如果InValid我也在等待;

1 个答案:

答案 0 :(得分:0)

尝试以下代码。关键是为ASP.Net验证器使用客户端API。在这里,只要您的页面上有ASP.Net验证器,我们就会使用页面中提供的属性Page_IsValid

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="ReqFld1" runat="server"ControlToValidate="TextBox1"></asp:RequiredFieldValidator>

<asp:Button ID="Button1" runat="server" Text="submit" />

$("form").on("submit", function(e){
    if(!Page_IsValid) {
           return;
    }
    if (waiting) return false;
    waiting = true;
    ShowMyWattingDiv();
)

您还可以使用以下JavaScript检查特定验证器是否有效。

var validator = $("#<%=ReqFld1.ClientID%>")[0];
if(validator.isvalid) {
  //do something
}