我要测试插件验证,尤其是方法"远程"。我制作了由具有以下代码的HTML文件组成的测试示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha256-pasqAKBDmFT4eHoN2ndd6lN370kFiGUFyTiUHWhU7k8=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js"></script>
<script>
$(function(){
$('#myForm').validate({
rules:
{
name:
{
required:true,
remote:'nameCheck1.php'
},
email:
{
required:true,
email:true
}
}
});
});
</script>
</head>
<body>
<form action="http://modx.megabulk.ru" method="post" id="myForm">
<input type="text" name="name" placeholder="имя">
<br><br>
<input type="text" name="email" placeholder="e-mail">
<br><br>
<input type="submit">
</form>
</body>
</html>
和具有以下代码的 PHP 文件:
<?php
$users = array ("Poul", "Anna", "Malika", "Jack", "Elena");
$newUser = $_POST['name'];
if (in_array($newUser, $users))
{
return false;
}
else
{
return true;
}
?>
然后我开始测试我的形状。在浏览器控制台中,我看到以下错误:
TypeError: undefined is not an object (evaluating 'b.apply'). Exception occurred when checking element , check the 'remote' method.
我以为我的插件很旧,并尝试使用最新版本,但我遇到了同样的错误。
谁能告诉我我做错了什么?如何修复此错误?
提前感谢!
您缺少脚本文件,包括此脚本应该可以解决问题。
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
我的代码中出现了以下错误
- 默认情况下,数据通过数组GET传递,我通过POST获取它们
- 用户 gaetanoM 是对的,我应该在处理程序中使用不返回而是回显
- 我使用了不包含ajax方法的jQuery的精简版本
通过修复所有这些错误,我得到了正确的结果。