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

Javascript 使用jQuery验证插件时,表单操作/URL应该在哪里定义?,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,当使用jQuery验证插件时,表单操作应该在哪里定义 在JavaScript中 还是在形式上 或者两者都有 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Testing</title> //Links to

当使用jQuery验证插件时,表单操作应该在哪里定义

在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>

测试
//链接到脚本到这里。。。
$(函数(){
var验证程序=$(“#myForm”).validate({
规则:{},
消息:{},
submitHandler:函数(表单){
$.post('some/url/to/post/to.php',$(form).serializeArray(),函数(json){
//或者使用form.action作为url?提供完整的url:http://subdomain.example.com/some/url/to/post/to.php
//或者使用$(form.attr('action')作为url?提供部分url:some/url/to/post/to.php
//呜呜呜呜
}“json”);
}
});                
});
当使用jQuery验证插件时,表单操作应该在哪里定义

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

1。常规表单提交,重定向到其他页面:

只需在
表单
标记中使用
操作
属性,就不需要使用自定义的
submitHandler
选项。插件会自动处理所有事情,经过验证后,表单会正常提交

2。通过ajax提交,并保持在同一页面上:


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

我已经将
submitHandler
中的url更改为使用
$(form).attr('action')
,它可以工作。因为非JS用户更容易回退,所以总是这样做不是最好吗?@user1032531,您使用的是ajax,但从表单
操作
属性检索URL?我看这没什么问题,这当然属于我上面的#2场景。谢谢你,斯帕奇,祝你劳动节愉快!