【发布时间】:2015-04-22 20:05:12
【问题描述】:
我有一个 webforms 表单,当我提交时,我需要对其进行验证。这对我来说是全新的,但这就是我所拥有的。现在,当我点击提交时,即使是空白表格,它也会发布。我需要它先验证。我认为我的问题可能与 jquery 和 PreventDefault() 有关。另外,我如何让它与我添加的 recaptcha 一起工作?它只是在提交时绕过它。
客户端代码:
<form id="contactForm">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<asp:TextBox runat="server" ID="frmFirstName" CssClass="form-control"></asp:TextBox>
<asp:RegularExpressionValidator runat="server" CssClass="error" ID="FirstNameValid" ControlToValidate="frmFirstName" Text="Please enter your first name"></asp:RegularExpressionValidator>
</div>
</div>
<div class="col-md-4 pad_lr_8">
<div class="form-group">
<asp:TextBox runat="server" ID="frmLastName" CssClass="form-control"></asp:TextBox>
<asp:RegularExpressionValidator runat="server" CssClass="error" ID="LastNameValid" ControlToValidate="frmLastName" Text="Pleaseenter your last name"></asp:RegularExpressionValidator>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<asp:TextBox runat="server" ID="frmEmail" CssClass="form-control"></asp:TextBox>
<asp:RegularExpressionValidator runat="server" CssClass="error" ID="EmailValid" ControlToValidate="frmEmail" Text="Please enter your email"></asp:RegularExpressionValidator>
</div>
</div>
</div>
<div class="row pad_tb_8">
<div class="col-md-12">
<div class="form-group">
<asp:TextBox runat="server" TextMode="MultiLine" Rows="10" CssClass="form-control" ID="frmMessage"></asp:TextBox>
<asp:RegularExpressionValidator runat="server" CssClass="error" ControlToValidate="frmMessage" Text="Please enter your message"></asp:RegularExpressionValidator>
</div>
</div>
</div>
<div class="row">
<div class="col-md-7" style="padding-right: 8px;">
<recaptcha:RecaptchaControl ID="recaptcha" runat="server" Theme="white" PublicKey="" PrivateKey=""/>
</div>
<div class="col-md-5 hidden-xs hidden-sm">
<button type="submit" runat="server" OnServerClick="SendEmail" class="btn btn-orange">Send <i class="fa fa-caret-right"></i></button>
</div>
</div>
<div class="row">
<div class="col-sm-12 hidden-md hidden-lg">
<button type="submit" runat="server" OnServerClick="SendEmail" class="btn btn-orange">Send <i class="fa fa-caret-right"></i></button>
</div>
</div>
<div class="row pad_tb_8">
<div class="col-md-12">
<asp:Label runat="server" ID="lblResult"></asp:Label>
</div>
</div>
</form>
jQuery:
<script>
jQuery(document).ready(function ($) {
$("#contactForm").submit(function (e) {
e.preventDefault();
});
});
</script>
【问题讨论】: