首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示相关下载链接的jQuery验证器

问显示相关下载链接的jQuery验证器
EN

Stack Overflow用户
提问于 2013-03-07 05:37:13
回答 2查看 427关注 0票数 0

我正在使用验证器插件向站点添加各种密码字段,每个字段在输入成功的密码后都会释放一个相关的下载链接。问题是,当输入正确的密码时,所有的下载链接都会显示出来,而不仅仅是相关的链接。所有的字段都将有相同的密码,随着时间的推移会添加更多的文件,我只是想知道如何只显示相关的下载链接,而不是所有的下载链接。

这是一个jsfiddle (密码是' password '):http://jsfiddle.net/rqGWK/

jQuery:

代码语言:javascript
复制
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");
        }
    }); 

}); 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 05:46:39

我不建议使用jQuery或任何客户端代码作为保护内容的工具。这不是真正的安全。

但是要回答您的question..just,请在.parent()中查找.download-file,并包装您的.validate()函数,以便验证每个表单。

已更新。

代码语言:javascript
复制
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");
        }
    });
});
票数 1
EN

Stack Overflow用户

发布于 2013-03-07 05:53:10

像这样的东西?

DEMO VIEW

代码语言:javascript
复制
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:客户端是可以绕过的,记得做服务器端控制吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15258573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档