通过url传参设置超链接是否有效

来源:互联网 发布:淘宝百度文库财富值 编辑:程序博客网 时间:2024/06/08 00:04

今天遇到了一个问题。来总结一下:

我login.jsp登陆成功后跳转主页面index.jsp上有四个超链接。第一个有效,其他三个是无效的。当我点第一个超链接后跳转一个b1.jsp页面。

点击b1.jsp页面中的返回后跳转主页index.jsp。这时候三个超链接都变成有效的。

login.jsp跳转成功后通过url传值给index.jsp(可以直接在链接设置href="index.jsp?dflag=1")。index.jsp只要接收到参数dflag为1时候。将其他三个超链接设置为无效,其他都默认有效。

网上找了一些jQuery代码,后来才实现。代码如下:

我将超链接的id分别设置为a1,a2,a3,a4

        var str = '< request.getParameter("dflag") %>';   //该函数接收上一个页面的传值。直接这样接收完了就判断发现不行。只能先这样声明名称,下面代码接收才可以。
         function getQueryStringArgs(q){
            var qs = q.split('?')[1] || (location.search.length > 0 ? location.search.substring(1) : ''),
                    args = {},
                    items = qs.length ? qs.split('&') : [],
                    item = null,
                    name = null,
                    value = null,
                    i = 0,
                    len = items.length;    
            for(i = 0; i < len; i++){
                item = items[i].split('=');
                name = decodeURIComponent(item[0]);
                value = decodeURIComponent(item[1]);
                if(name.length){
                    args[name] = value;
                }
            }
            return args;
        }
        var r = getQueryStringArgs(str);       
        if(r.dflag==1){                                               //r.dflag这样成功接收到传的参数,根据参数值做以下操作
            //console.log("dflag等于1的时....");            
                $('#a2').attr("href", 'javascript:void(0);');
                 $('#a3').attr("href", 'javascript:void(0);');

                 $('#a4').attr("href", 'javascript:void(0);');

           //console.log("设置超连接无效");                                                  

        }   



另外,还用到了两个方法,在此总结一下。

    $(document).ready(function(){        
        $('#a2').attr("href", 'javascript:void(0);');
        $('#a3').attr("href", 'javascript:void(0);');
         $('#a4').attr("href", 'javascript:void(0);');                   
        }); /* 该函数是jsp页面一加载就执行该函数,可以在函数内执行一些方法 */           

     setTimeout(function(){             //该函数可以理解为定时执行函数,经过多长时间后才执行        
            //console.log("设置超连接无效");            
              $('#a2').attr("href", 'javascript:void(0);');   / /设置id为a2的超链接无效
              $('#a3').attr("href", 'javascript:void(0);');
               $('#a4').attr("href", 'javascript:void(0);');                   
            
          },1000);   //延迟的时间,可以更短或者更长

0 0
原创粉丝点击