使用jQuery Validate插件时应该在哪里定义表单操作/ URL?

时间:2015-09-05 19:58:01

标签: javascript jquery jquery-validate

使用jQuery Validate插件时应该在哪里定义表单操作?

在JavaScript中?

还是表格?

或两者兼而有之?

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Testing</title>
        //Links to script go here...  
        <script type="text/javascript"> 
            $(function(){
                var validator=$("#myForm").validate({
                    rules: {},
                    messages: {},
                    submitHandler: function(form) {
                        $.post('some/url/to/post/to.php',$(form).serializeArray(),function (json){
                        //Or maybe use form.action as url?  Gives full URL: http://subdomain.example.com/some/url/to/post/to.php
                        //Or maybe use $(form).attr('action') as url?  Gives partial URL: some/url/to/post/to.php
                            //bla bla bla
                            },'json'); 
                    }
                });                
            });
        </script>
    </head>

    <body>
        <form id="myForm" action="some/url/to/post/to.php" method="post">
            <input type="text" name="bla">
            <input type="submit" value="sumbit">
        </form>
    </body> 
</html>

1 个答案:

答案 0 :(得分:0)

  

使用jQuery Validate插件时应该在哪里定义表单操作?

这完全取决于你将如何提交表格。

<强> 1。常规表单提交,重定向到另一个页面:

只需使用action标记中的form属性,您就不需要使用自定义submitHandler选项。该插件会自动处理所有内容,并在验证后,表单正常提交。

<强> 2。通过ajax提交,它保持在同一页面上:

只需在自定义submitHandler函数中定义ajax,您甚至不需要使用action属性,因为它无论如何都会被忽略。该插件会自动处理所有内容,并在表单有效且单击按钮时触发自定义submitHandler函数。 (注意:检索要使用的ajax的action属性的值不会有问题。)