Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面加载时设置多个cookie_Javascript - Fatal编程技术网

Javascript 在页面加载时设置多个cookie

Javascript 在页面加载时设置多个cookie,javascript,Javascript,我是编程新手,在JavaScript中使用Cookie时遇到了很多困难,所以我使用了本教程。我使用了“创建cookie函数”,但我不确定如何创建一个函数,在页面加载时将cookie放回文本框。我看过W3学校,但仍然不知道。有什么想法吗 下面是我使用的createcookie函数,它从“多个”文本框创建cookie function createCookie(nCookie){ var expDate = new Date(); expDate.setMonth(expDate.getMonth(

我是编程新手,在JavaScript中使用Cookie时遇到了很多困难,所以我使用了本教程。我使用了“创建cookie函数”,但我不确定如何创建一个函数,在页面加载时将cookie放回文本框。我看过W3学校,但仍然不知道。有什么想法吗

下面是我使用的createcookie函数,它从“多个”文本框创建cookie

function createCookie(nCookie){
var expDate = new Date();
expDate.setMonth(expDate.getMonth() + 12);
var cookieVal = document.getElementById(nCookie).value;
document.cookie = nCookie + "=" + cookieVal + ";path=/;expires=" +
expDate.toGMTString();}

顺便说一句,如果在欧盟,您需要声明cookie的使用情况


<script type="text/javascript">  
  if(field1 = getCookie("field1")) document.myForm.field1.value = field1;
  if(field2 = getCookie("field2")) document.myForm.field2.value = field2;
  if(field3 = getCookie("field3")) document.myForm.field3.value = field3;
  if(field4 = getCookie("field4")) document.myForm.field4.value = field4;
</script>
如果(field1=getCookie(“field1”))document.myForm.field1.value=field1; if(field2=getCookie(“field2”))document.myForm.field2.value=field2; if(field3=getCookie(“field3”))document.myForm.field3.value=field3; if(field4=getCookie(“field4”))document.myForm.field4.value=field4;

工作示例
字段1
字段2
字段3
字段4
函数存储值(表单)
{
document.cookie='field1='+form.field1.value;
document.cookie='field2='+form.field2.value;
document.cookie='field3='+form.field3.value;
document.cookie='field4='+form.field4.value;
返回true;
}
函数showCookies(){

对于(var i=1;我的意思是您不知道如何从document.cookie中提取cookie?是的,我不知道如何通过id将它们放入正确的文本框您的意思是您的文本框设置了id属性,并且您不知道如何通过id属性获取textbox DOM元素?是否存在循环?
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <h2>Working Example</h2>

    <form name="myForm" method="get" action="JavaScriptCookies.html" onsubmit="return storeValues(this);">
        <fieldset>
            <label>Field 1</label><span><input type="text" name="field1" value=""></span>
            <label>Field 2</label><span><input type="text" name="field2" value=""></span>
            <label>Field 3</label><span><input type="text" name="field3" value=""></span>
            <label>Field 4</label><span><input type="text" name="field4" value=""></span>
            <span>
                <input type="submit" value="Set Cookies">
                <input type="button" onclick="showCookies();" value="Retrieve Cookies">
            </span>
        </fieldset>
    </form>
    <script type="text/javascript">
        function storeValues(form)  
        {
            document.cookie = 'field1=' + form.field1.value;
            document.cookie = 'field2=' + form.field2.value;
            document.cookie = 'field3=' + form.field3.value;
            document.cookie = 'field4=' + form.field4.value;
            return true;
        }

        function showCookies() {
            for (var i = 1; i <= 4; i++) {
                x = document.getElementsByName("field" + i);
                x[0].value = getCookie(x[0].name);
            }

            return true;
        }

        function getCookie(cname)
        {
            var name = cname + "=";

            var ca = document.cookie.split(';');
            for (var i = 0; i < ca.length; i++) {
                var c = ca[i];
                while (c.charAt(0) == ' ') c = c.substring(1);
                if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
            }

            return "";
        }


    </script>
</body>
</html>