getCookie2函数是在jsp页面加载时执行,如果没有这个cookie就生成一个,如果有就读取放在登录名。
getCookie3是点击登录按钮时记住登录名。
现在问题时如果IE不关闭系统退出返回登录页面时cookie可以正常取到,但是IE一旦关闭,再进登录页面cookie就找不到了。
用的是tomcat,请高手帮看!!
var mycookie=document.cookie;
var name="userName";
function getCookie2(){
    var start1= mycookie.indexOf(name + "=");
    if(start1==-1){
        expireDate = new Date(); 
expireDate.setMonth(expireDate.getMonth()+6);
     document.cookie = name + "=" + document.loginForm.userName.value+";expires=" + expireDate.toGMTString();
    }else{
     start=mycookie.indexOf("=",start1)+1;
     var end = mycookie.indexOf(";",start);
     if (end==-1){
end=mycookie.length;
}
   var value=unescape(mycookie.substring(start,end));
  
   document.loginForm.userName.value=value;
    }
}function getCookie3(name){
    alert("3");
document.cookie = name +"=" + document.loginForm.userName.value;
}

解决方案 »

  1.   

    function setCookie(name, value) //cookies设置
    {
    var argv = setCookie.arguments;
    var argc = setCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    if(expires!=null&&expires!="")
    {
    var LargeExpDate = new Date ();
    LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24));
    }
    document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString()));
    }function getCookie(name) //cookies读取
    {
    //if(document.cookie=="")alert("由于您没有开启cookie,所以无法使用该功能!请使用前先开启cookie");
    var search = name + "="
    if(document.cookie.length > 0) 
    {
    offset = document.cookie.indexOf(search)
    if(offset != -1) 
    {
    offset += search.length
    end = document.cookie.indexOf(";", offset)
    if(end == -1) end = document.cookie.length
    return unescape(document.cookie.substring(offset, end))
     }
    else return ""
    }
    }setCookie("username","csdn",30)//有效期30天
    getCookie("username")
      

  2.   

    建议你不要用cookie因为cookie是可以被禁止的,你看下你浏览器的隐私->cookie是怎么设置的
      

  3.   

    你不能保证你的用户不禁止cookie,想想别的方法实现你要的功能
      

  4.   


    <script>
    function setCookie(name, value, expires, path, domain)
    {
    if(!expires) expires = -1;
    if(!path) path = "/";
        var d = "" + name + "=" + value; var e;
        if (expires < 0) {
            e = "";
        }
        else if (expires == 0) {
            var f = new Date(1970, 1, 1);
            e = ";expires=" + f.toUTCString();
        }
        else {
    var now  = new Date();
            var f = new Date(now.getTime()  + expires * 1000);
            e = ";expires=" + f.toUTCString();
        }
        var dm;
        if(!domain){
    dm = "";
        }
        else{
    dm = ";domain=" + domain;
        }    document.cookie = name + "=" + value + ";path=" + path + e + dm;
    };function getCookie(a)
    {
        var b = String(document.cookie);
        var c = b.indexOf(a + "=");    if (c != -1) {
            var d = b.indexOf(";", c);
            d = d == -1 ? b.length : d;
            c = c + a.length + 1;
    if(b.charAt(c)=='"'&&b.charAt(d-1)=='"'){
    c+=1;d-=1;
    }
    if(c>=d)
    return "";
            return b.substring(c, d);
        }    return "";
    };
    //setCookie("good", "hel43lo", 365, "/", document.domain)
    document.write(getCookie("good"));
    //alert(document.domain);
    </script>