代码如下: <script type="text/javascript">
   function CheckInfo() {
   for(var i=0;i<document.getElementsByName("rdhowlong").length;i++)
       {
           var obj = document.getElementsByName("rdhowlong").item(i);           if(obj.checked)
             {
                document.cookie="howlong="+obj.value;
                //alert( document.cookie);
             }
         }
   }  这个地方是设置cookie    function getCookie(cookieName)
       {
           //获得Cookie文件中的信息
           var cookieMesaage = document.cookie;
           var cookieValue = "";
           
           //获得Cookie值
           if (cookieName=="howlong")
           {
             cookieValue = returnCookieValue(cookieMesaage, "rdhowlong");
             alert("值为:"+cookieValue);
           }
      }       
       function returnCookieValue(cookieValue,cookieName)
       {
           var returnCookieValue = "";         
           var cookieNameIndex = cookieValue.indexOf(cookieName+"=");
           if (cookieNameIndex!=-1)
           {
               var cookieValueBeginIndex = cookieNameIndex + cookieName.length + 1;
               var cookieVlaueEndIndex = cookieValue.indexOf(";", cookieValueBeginIndex);
               if (cookieVlaueEndIndex==-1)
               {
                  cookieVlaueEndIndex = cookieValue.length;
               }
               returnCookieValue = cookieValue.substring(cookieValueBeginIndex,cookieVlaueEndIndex);               
            }
           return returnCookieValue;
       }
    </script>  这个是读取cookie 
   <input type="radio" name="rdhowlong" id="rdganggand" value="1" />1<br />
   <input type="radio" name="rdhowlong" id="rd2year" value="2" />2
   <input id="Button1" type="button" value="button" onclick="CheckInfo()" /> //设置cookie
   <input id="Button2" type="button" value="button" onclick= "getCookie('howlong')"> //读取cookie  问题:  1、关闭浏览器后就无法获取到之前设置的cookie了,cookie 应该是保证到电脑硬件上的吧,不像session 关闭浏览器后就失效了,而cookie 应该还会存在的啊,再次读取怎么会读取不到呢.  2、点击Button2 按钮后无法得到 cookie 值(我的操作是:先点击Button1设置一个cookie ,这时不关浏览器,然后再点击Button2 ,alert() 提示:值为:,这里并没有得到值).  就这两个问题,请大家帮帮忙,谢谢!

解决方案 »

  1.   

    function SetCookie(name,value)
    {
       var Days = 30; 
        var exp  = new Date();   
       exp.setTime(exp.getTime() + Days*24*60*60*1000);
       document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
    function getCookie(name)        
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
       if(arr != null) return unescape(arr[2]); return null;
    }

    指定过期时间:var myDate = new Date();
    myDate.setFullYear(2010, 7, 10);
    $.cookie("singleKey", "", "singleKey-value", { expires: myDate, secure: false }) 1天后过期:
    var time = Date();$.cookie("singleKey", "", "singleKey-value", { expires: 1, path: "/", secure: false })
      

  2.   

     function setCookies(name,value)
        {
           var Days = 60; //此 cookie 将被保存 60 天
           var exp = new Date();
           exp.setTime(exp.getTime() + Days * 86400000);
           document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
        }
      

  3.   

    JS设置Cookie网上很多,你可以在地址栏上面输入javascrit:alert(document.cookie);这句代码来检测自己设置的cookie是否存在,从而就好找到错误原因。
      

  4.   

    //写cookies函数 
    function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
    {
        var Days = 30; //此 cookie 将被保存 30 天
        var exp  = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
    function getCookie(name)//读取cookies函数        
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
         if(arr != null) return unescape(arr[2]); return null;}
    function delCookie(name)//删除cookie
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }