就像有的登录网站一样
cookie有效期:一天  一星期  一个月  
为可选项
请问用javascript怎么解决啊?

解决方案 »

  1.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 4</title>
    <script language="JavaScript" type="text/javascript">
    function addCookie(objName,objValue,objDays){//添加cookie
       var str = objName + "=" + escape(objValue);
       if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new Date();
        var ms = objDays*24*3600*1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
       }
       document.cookie = str;
    }
    </script>
    </head><body>
    <select id=s>
    <option value="1">一天</option>
    <option value="7">一周</option>
    <option value="30">一月</option>
    </select>
    <input type="button" value="保存cookie" onclick="addCookie('name','小明',document.getElementById('s').value)"></body></html>
      

  2.   

    JavaScript:cookie的安全性
    本文节选自《21天学通JavaScript》一书    在默认情况下,cookie都是采用不加密的HTTP的传输方法,这种方法传输容易被别人窃听。如果cookie中的信息很重要,就不能用这种方法了。因此,在JavaScript提供了cookie的secure属性,可以解决这个问题。
    secure就是安全的意思。当设置了cookie的secure属性之后,cookie就只能通过HTTP或其他安全协议来传输,这样消息就不容易被别人窃听了。cookie的secure属性是一个布尔类型的值。
    【范例14-6】在本例中,cookie"username"被设置成在10分钟之后过期,可以被服务器上的所有目录访问,可以被localhost域里的所有服务器访问,安全状态为安全。如示例代码14-6所示。
    示例代码14-6
    01    <html>
    02        <head><title>cookie的参数</title>    
    03            <script language="javascript">    
    04                function setCookie()        
    05                { 
    06                    var value=prompt("请输入cookie变量的值","");                                                                        //接收用户输入的值
    07                    if(value!=null)                    //判断value是否为空
    08                    {
    09                    var expiration = new Date((new Date()).getTime() + 10 * 60000);                                                        //设置cookie存活期
    10                    document.cookie = "username=" + escape(value)+ ";                                                                //给cookie编码
    11                    xpires ="+ expiration.toGMTString()+";path=/;domain=local host; secure";                                            //设路径
    12                    alert("设置cookie值成功编码结果为:username="+escape(value));                                                        //输出结果
    13                    }
    14                    else
    15                    {
    16                        alert("设置失败,你没有输入任何值!");                                                                        //检查输入是否为空
    17                    }
    18                }
    19                function getCookie(cookie_name)    //自定义函数用于获取cookie的值
    20                {
    21                    var allcookies = document.cookie;                                                                            //声明一个变量allcookies
    22                    var value=null;                 //将value的初始值设为空
    23                    var searchs=cookie_name+"=";    //给变量searchs赋cookie名
    24                    if(allcookies.length>0)        //查看cookie是否为空
    25                    {
    26                        var offset=allcookies.indexOf(searchs);                                                                    //找到要查找的变量名
    27                        if(offset!=-1)            //判断所查找的变量名是否存在
    28                        {
    29                                offset+=searchs.length;
    30                                var end=allcookies.indexOf(";",offset);                                                            //找到变量值的结束位置
    31                                if(end==-1)        //防止没加“;”号的情况发生
    32                                {
    33                                    end=allcookies.length;                                                                    //取得cookie的长度
    34                                }
    35                                value=unescape(allcookies.substring (offset,end));                                        //取得变量的值
    36                        }
    37                        else
    38                        {
    39                            value=null;            //将变量value赋为空
    40                        }
    41                    }
    42                    return value;                    //返回变量value的值
    43                }    
    44            </script>    
    45            </head>                                <!--文档头结束-->
    46        <body>                                    <!--文档体->
    47        <input type="submit" name="Submit" value="设置cookie值" onClick="set Cookie()">
    48        <input type="submit" name="Submit2" value="读取cookie值" onClick="alert (getCookie('username'))">
    49        </body>                                   <!--文档体结束-->
    【运行结果】打开网页文件运行程序。
    【代码解析】该代码段第4~18行的作用是设置cookie,这里设置了这个cookie的键、值、存活期、路径等,同时还编码过。第19~43行是读取所设置的过程,注意读取的时候要先解码。再有,Date设置是以毫秒为单位,因此getTime方法返回时间,单位为毫秒。提示:设置了secure属性,只保证cookie与Web服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密
      

  3.   

    不好意思,昨天没看信箱
    在我给的例子中,把select改成radio,是完全可以的
    只要注意调函数setCookie时参数传递地是否正确
    还有就是确保至少调一次setCookie函数
      

  4.   

    是这样的
    我们刚出来工作不久
    这里有一个用c,javascript,html,cgi做到网站
    我现在优化这个网站
    以前cookies的保存时间是3天的
    现在公司要求我把cookie做成可选项
    我把代码用你那种方法改
    网页有错误
    不知道是我哪里出错了  。
      

  5.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>cookie有效期可选功能</title>
    <script language="JavaScript" type="text/javascript">
    function setCookie(objName,objValue,objDays){//添加cookie
       var str = objName + "=" + escape(objValue);
       if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new Date();
        var ms = objDays*24*3600*1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
       }
       document.cookie = str;
    }
    </script>
    </head><body>
    radio形式:
    Cookie有效期:
    <input type='radio' name='cktime' id="radio1" value='1' onClick="setCookie('name','castel',document.getElementById('radio1').value)">一天 <input type='radio' name='cktime' id="radio2" value='7' onClick="setCookie('name','castel',document.getElementById('radio2').value)" checked="checked">一小时<input type='radio' name='cktime' id="radio3" value='30'onclick="setCookie('name','castel',document.getElementById('radio3').value)">一个月 <br>
    下拉框形式:
    <select id=s>
    <option value="1">一天</option>
    <option value="7">一周</option>
    <option value="30">一月</option>
    </select>
    <input type="button" value="保存cookie" onclick="setCookie('name','castel',document.getElementById('s').value)"></body></html>这是我吧你的代码做了改动
    不知道radio里面的onclick事件写的对不
    你看哈
    我还有另一种方法
    <html>
    <head>
    <script language="JavaScript" type="text/javascript">
    function setCookie(objName,objValue,objDays){//添加cookie
       var str = objName + "=" + escape(objValue);
       if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new Date();
        var ms = objDays*24*3600*1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
       }
       document.cookie = str;
    }
    </script>
    </head>
    <body>
    <form name="form1" method="post" action="">
    Cookie有效期:
    <input type="radio" name="radiobutton" value="1" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)"
    checked="checked">一天
    <input type="radio" name="radiobutton" value="7" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)">
    一星期
    <input type="radio" name="radiobutton" value="30" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)">
    一个月</form>
    </body></html>老兄帮忙分析下啊
      

  6.   

    <html> 
    <head> 
    <script language="JavaScript" type="text/javascript"> 
    function setCookie(objName,objValue,objDays){//添加cookie 
      var str = objName + "=" + escape(objValue); 
      if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 
        var date = new Date(); 
        var ms = objDays*24*3600*1000; 
        date.setTime(date.getTime() + ms); 
        str += "; expires=" + date.toGMTString(); 
      } 
      document.cookie = str; 

    </script> 
    </head> 
    <body> 
    <form name="form1" method="post" action=""> 
    Cookie有效期: 
    <input type="radio" name="radiobutton" value="1" onclick="setCookie('name','castel1',this.value)" 
    checked="checked">一天 
    <input type="radio" name="radiobutton" value="7" onclick="setCookie('name','castel7',this.value)"> 
    一星期 
    <input type="radio" name="radiobutton" value="30" onclick="setCookie('name','castel30',this.value)"> 
    一个月 
    </form> 
    </body> </html>