jed*_*jay 3 validation jquery button jquery-validate
使用ASP.NET,为什么使用inputtype ="submit"元素而不是html按钮元素时,bassistance.de jQuery验证插件会阻止表单提交?
使用html按钮(type ="submit")标记时会触发验证,但仍然会提交表单.
有没有办法让jQuery验证插件与html按钮元素一起使用?
一个简单的例子:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript">
$(document).ready(function () {
$("#form1").validate({
rules: {
txtFirstName: {
required: true
}
},
messages: {
txtFirstName: {
required: "* First Name required<br/>"
}
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<input id="txtFirstName" name="txtFirstName" type="text" />
<input id="btnSubmit1" type="submit" runat="server" value="Submit" /> <!-- WORKS! -->
<button it="btnSubmit2" type="submit" runat="server">Submit</button> <!-- DOESN'T WORK -->
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它似乎是这样设计的:
// when a submitHandler is used, capture the submitting button
if (validator.settings.submitHandler) {
inputsAndButtons.filter(":submit").click(function () {
validator.submitButton = this;
});
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎已被烘焙,没有其他选择.关于这方面的文件:select似乎更多地说明了这一点:
该
:submit选择器通常适用于按钮或输入元件.请注意,某些浏览器会将元素type="default"隐式处理,而其他浏览器则不会.
一种解决方案是将您绑定button到调用验证的函数.在下面的示例中,我们看到这是通过锚来完成的:
$("#myform").validate();
$("a.check").click(function() {
$("#myform").valid();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4444 次 |
| 最近记录: |