【发布时间】:2013-02-27 15:59:31
【问题描述】:
<script type="text/javascript">
$(document).ready(function() {
jQuery(function($){
$("#form").submit(function(e){
if ($(this).valid()){
$.ajax( {
type: "POST",
url: "http://localhost/My/modules/validate.php",
});
}
return false;
})});
$("#form").validate({
rules: {
user: {
remote: {
url: "http://localhost/My/modules/validate.php",
async: false,
}
}
}
});
});
$.validator.setDefaults({
debug: true,
success: "valid",
});
</script>
我想创建远程验证规则。此示例正确读取 ajax 请求。虽然返回 true/false 都评估为验证错误。
但是,删除 ajax 部分(jQuery())会导致缺少 ajax 初始化,甚至没有处理请求。
async: false 似乎是被动的,删除它会导致同样的事情。
任何人都可能知道这里可能出了什么问题?
编辑:
$(document).ready(function() {
$("#form").validate({
rules: {
user: {
remote: "http://localhost/My/modules/validate.php",
}
},
submitHandler: function (form) {
// do your ajax form submission here
return false; // prevent redirect since you did ajax
}
});
});
</script>
【问题讨论】:
-
不过,它的行为非常奇怪 - $("#form").valid() 始终为 TRUE,并且在单击提交时工作流会停止,就好像它是 false 一样。
-
这是整个脚本...没人知道吗?废话,我试图把它吹出半天......
-
为什么要从两个地方调用同一个 PHP?是
validate.php用于使用remote规则验证一个字段,还是validate.php用于提交表单?
标签: php jquery jquery-validate