我似乎找不到任何评论我在尝试使用 bassistance jquery 验证插件时的行为。
我在VB.net工作(我知道,我知道)
无论如何,我有几个带有用户控件的嵌套母版页,这是我的表单。
问题是,验证有效,我收到一条消息,说需要名字,但表单还是会提交。还有其他人遇到过这个吗?有人有解决办法吗?
用户控件声明如下:
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="CampaignForm.ascx.vb" Inherits="CampaignForm" %>
插件规则脚本
<script type="text/javascript">
// only for test purposes
$.validator.setDefaults({
submitHandler: function () {
alert("submitted!");
}
});
$(document).ready(function () {
$("#form1").validate({
rules:{
<%=tbFirstName.UniqueID %>: {
required:true,
minlength:2
}
}, messages:{}
});
});
</script>
然后输入规则
<asp:TextBox class="Wider" ID="tbFirstName" ClientIDMode="Static" runat="server"></asp:TextBox>
<label for="tbFirstName" class="error">First name is required and must be longer than 2 characters</label>
提交按钮:
<asp:Button Width="248" Height="68" ID="btnSubmit" CssClass="btnCompareNow" runat="server" />
最后是处理按钮提交的方法:
Private Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
If Page.IsValid Then
End If
End Sub
我可能错了,但我认为这是因为您正在使用服务器端控制按钮,无论如何它都会发布数据......
编辑1
调用按钮提交上的函数,如
onClick="validate(this);"
<script>
function validate(e){
e.preventDefault();
}
</script>
编辑2
$(document).ready(function(){
$('#btnSubmit').click(function(e) {
e.preventDefault();
});
});