我正在使用验证器插件向站点添加各种密码字段,每个字段在输入成功的密码后都会释放一个相关的下载链接。问题是,当输入正确的密码时,所有的下载链接都会显示出来,而不仅仅是相关的链接。所有的字段都将有相同的密码,随着时间的推移会添加更多的文件,我只是想知道如何只显示相关的下载链接,而不是所有的下载链接。
这是一个jsfiddle (密码是' password '):http://jsfiddle.net/rqGWK/
jQuery:
jQuery(document).ready(function(){
jQuery(".article-form").hide();
jQuery(".download-file").hide();
jQuery('.article-link').click(function() {
jQuery(this).siblings('.article-form').fadeIn();
});
jQuery.validator.addMethod("pw_check", function (value) {
return (value == 'password');
}, "Invalid password");
jQuery(".article-form").validate({
rules: {
password: {
required: true,
pw_check: true
}
},
submitHandler: function (form) {
jQuery(".article-form").hide();
jQuery(".download-file").fadeIn("slow");
}
});
}); 发布于 2013-03-07 05:46:39
我不建议使用jQuery或任何客户端代码作为保护内容的工具。这不是真正的安全。
但是要回答您的question..just,请在.parent()中查找.download-file,并包装您的.validate()函数,以便验证每个表单。
已更新。
jQuery('.article-link').click(function () {
if(jQuery(this).siblings('.download-file').css('display')=='none')
jQuery(this).siblings('.article-form').fadeIn();
});
jQuery(".article-form").each(function () {
jQuery(this).validate({
rules: {
password: {
required: true,
pw_check: true
}
},
submitHandler: function (form) {
jQuery(form).hide();
jQuery(form).siblings(".download-file").fadeIn("slow");
}
});
});发布于 2013-03-07 05:53:10
像这样的东西?
jQuery(document).ready(function(){
jQuery(".article-form").hide();
jQuery(".download-file").hide();
var actual;
var validates = [];
jQuery('.article-link').click(function() {
actual = $(this).closest('.article-download');
if(!validates[actual.index()]){
$(".article-form").hide()
$(".article-form").eq(actual.index()).fadeIn();
}
});
jQuery.validator.addMethod("pw_check", function (value) {
return (value == 'password');
}, "Invalid password");
jQuery(".article-form").validate({
rules: {
password: {
required: true,
pw_check: true
}
},
submitHandler: function (form) {
validates[actual.index()] = true;
jQuery(".article-form").hide();
jQuery(".download-file").eq(actual.index()).fadeIn("slow");
}
});
}); PS:客户端是可以绕过的,记得做服务器端控制吗?
https://stackoverflow.com/questions/15258573
复制相似问题