我无法让jQuery的验证插件正常运行。我成功地同时引入了jquery.js和jquery.validate.js。我的脚本如下:
$(document).ready(function($) {
$("#apply").validate({
rules: {
firstname: "required",
surname: "required",
secret: {
required: true,
minlength: 5
},
verify_secret: {
required: true,
minlength: 5,
equalTo: "#secret"
},
email: {
required: true,
email: true
},
},
messages: {
firstname: "Please enter your firstname",
surname: "Please enter your surname",
secret: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long"
},
verify_secret: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long",
equalTo: "Please enter the same password as above"
},
email: "Please enter a valid email address",
}
});
});
这是我的标记:
<form method="post" action="apply.php" id='apply'>
<input type='text' name='firstname' id='firstname' value=''/>
<input type='text' name='surname' id='surname' value=' '/>
<input type='text' name='email' id='email' value='Your Email Address'/>
<label for='secret'>Your Chosen Password</label>
<input type='password' name='secret' id='secret'/>
<label for='verify_secret'>Verify Your Password</label>
<input type='password' name='verify_secret' id='verify_secret'/>
<input type='submit' name='submit' value='Submit'/>
</form>
我是否缺少一些依赖?我没有收到错误消息或任何其他可能有助于我解决问题的信息。
答案 0 :(得分:3)
As per jQuery documentation,$().ready(function() {
是“ 不 推荐”。
由于您未使用页面上的$
变量或使用noConflict() mode的任何内容提及其他JavaScript库,因此只需使用标准document.ready
函数而不使用将多余的$
传递给它。
$(document).ready(function() { ... });
以下是您的代码的工作演示......
<强> http://jsfiddle.net/9ZVab/ 强>
我还发现/删除了几个尾随逗号。我注意到你在两个密码字段上都有相同的规则。由于第二个字段使用equalTo
规则,因此其他规则是多余的,可以删除。请参阅:http://jsfiddle.net/tnuQa/
答案 1 :(得分:1)
而不是这个,我不明白为什么你这样使用jquery?
$().ready(function($) {
尝试
$(document).ready(function() {