当前位置:编程问答 > JS >

用js限制投票的cookie .目前设置的为:<input type="" class="" onclick="'window.location...

问题:就是对每个投票人记录下已投票,并且设置cookie 的失效时间。下次投票时从cookie 取是否已投票,如果已投票就不允许再投票。最好写个完整的代码,然后如何用。
追问:<p><input type="button"  class="toupaio" onclick="window.location.href='/toupiaoView.jspx?contentId=${a.id}&rtnurl=/toupiao/index.jhtml#${a.id}'")"></p>
按照你给js如何改这一块
答案:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>

    <script type="text/javascript">
        function addCookie(objName, objValue, objYears) 

{/*添加cookie  objName:cookie名称,objValue:cookie

存储的值,cookie过期的年数*/
            var str = objName + "=" + escape(objValue);
            if (objYears > 0) {//为0时不设定过期时间,

浏览器关闭时cookie自动消失
                var date = new Date(2049, 1, 1);
                var ms = objYears * 365 * 24 * 3600 * 1000; 

//cookie过期时间为objYears年
                date.setTime(date.getTime() + ms);
                str += "; expires=" + date.toGMTString();
            }
            document.cookie = str;
            alert("投票成功!");
        }
        function getCookie(objName) {//获取指定名称的

cookie的值
            var arrStr = document.cookie.split("; ");
            for (var i = 0; i < arrStr.length; i++) {
                var temp = arrStr[i].split("=");
                if (temp[0] == objName) return unescape

(temp[1]);
            }
        }
        function submits(objName, objValue, objYears) {
            var allcookies = document.cookie;
            var cookie_pos = allcookies.indexOf(objName);
            if (cookie_pos != -1) {
                alert('您已经投过票了,请不要重复投

票!')
            } else
            { addCookie(objName, objValue, objYears) }
        }
    </script>
</head>
<body>
    <div align="center" width="100%">
        <input id="Radio1" type="checkbox" name="r" 

value="1" onclick="check(this)" />1
        <input id="Radio2" type="checkbox" name="r" 

value="2" onclick="check(this)" />2
        <input id="Radio3" type="checkbox" name="r" 

value="3" onclick="check(this)" />3
        <input id="Radio4" type="checkbox" name="r" 

value="4" onclick="check(this)" />4
        <input id="Radio5" type="checkbox" name="r" 

value="5" onclick="check(this)" />5
        <input id="Radio6" type="checkbox" name="r" 

value="6" onclick="check(this)" />6
        <input id="Radio7" type="checkbox" name="r" 

value="7" onclick="check(this)" />7
        <input id="Radio8" type="checkbox" name="r" 

value="8" onclick="check(this)" />8
        <input id="Radio9" type="checkbox" name="r" 

value="9" onclick="check(this)" />9
        <input id="Radio10" type="checkbox" name="r" 

value="10" onclick="check(this)" />10
        <input id="Radio11" type="checkbox" name="r" 

value="11" onclick="check(this)" />11
        <input id="Radio12" type="checkbox" name="r" 

value="12" onclick="check(this)" />12<br />
        <input id="enter" type="button" value="提交投

票" onclick="submits('toupiao','toupiao_value',5)" />
        <br />
        <br />
        <label id="label_count">
        </label>
    </div>
    <!--(可多选,最多选择十位)-->

    <script type="text/javascript">
        var checks = 0;
        var oenter = document.getElementById("enter");
        oenter.disabled = true;
        function check(obj) {
            if (obj.checked) {
                checks += 1;
            } else {
                checks -= 1;
            }
            if (checks > 10) {
                checks -= 1;
                obj.checked = false;
                alert("您已经选择了 " + checks + " 位候选

者,不能再选了!\r\n如果要一定选择此项,请去

掉一些其他项再选择!");
            }
            if (checks < 1) {
                oenter.disabled = true;
            }
            else {
                oenter.disabled = false;
            }

        }
    </script>

</body>
</html>
其他:楼上那位高手的应该是对的 

上一个:js如何获得FCKeditor控件的值
下一个:JS验证,这块“牛皮”反复修改都不能实现

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,