Javascript 使用jQuery验证插件时,表单操作/URL应该在哪里定义?
当使用jQuery验证插件时,表单操作应该在哪里定义 在JavaScript中 还是在形式上 或者两者都有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
<!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场景。谢谢你,斯帕奇,祝你劳动节愉快!