我有一个表单,我使用ajax调用将其提交给servlet。问题是我无法验证它,因为我使用按钮提交表单。我遇到了这个链接,但我无法找到解决问题的方法 jQuery form validation on button click
我的HTML代码是:
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.min.js"></script>
<style type="text/css">
<%@include file="/formsub/formstyle.css" %>
</style>
<script>
$(document).ready(function(){
$( ".datepicker" ).datepicker({
altFormat: 'yyyy-mm-dd'
});
var form = $('#form1');
$(".submit").click(function(){
alert("in click");
$(form).validate({
submitHandler: function(form) {
$.get(form.attr('action'),$(form).serialize(),function(data,status){
$('#json').val(" Firstname is "+data.firstname
+"\n Lastname is "+data.lastname
+"\n You are a " +data.sex
+"\n Your interests are " +data.interest
+"\n Date of birth " +data.datepicker
+"\n Your ipaddress " +data.userIpAddress )
});
}
});
});
});
</script>
</head>
调用click函数但未进行验证。我正在使用按钮,因为我不希望页面刷新。 任何帮助将不胜感激,提前致谢
答案 0 :(得分:0)
与that very same link you included in your submission中一样:
在
click
处理程序中,错误是.validate()
仅重新初始化插件,而不验证form
。
因此,这个电话:
$(form).validate( ...
应放在外面 click
处理程序中,并且您在其中执行的$.get
调用必须在.submit(function () {... })
内重新定位,该{{1}}在验证后调用发生。
这就是我可以不用小提琴告诉你的。