使用按钮和ajax提交进行jQuery表单验证(不刷新页面)

时间:2013-08-25 19:13:23

标签: jquery ajax validation jquery-validate

我有一个表单,我使用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函数但未进行验证。我正在使用按钮,因为我不希望页面刷新。 任何帮助将不胜感激,提前致谢

1 个答案:

答案 0 :(得分:0)

that very same link you included in your submission中一样:

  

click处理程序中,错误是.validate()仅重新初始化插件,而不验证form

因此,这个电话:

$(form).validate( ...

应放在外面 click处理程序中,并且您在其中执行的$.get调用必须在.submit(function () {... })内重新定位,该{{1}}在验证后调用发生。

这就是我可以不用小提琴告诉你的。