JavaScript:设置Cookie无效

时间:2017-03-16 16:56:40

标签: javascript html cookies

我想将来自HTML输入标签的用户输入存储为cookie以供稍后使用。我需要读取多个输入框并在用户单击按钮时存储文本值。

我的问题是将信息保存到cookie似乎没有正常工作,而是保存没有信息,从我可以看到使用alert(document.cookie)

HTML代码:

<form id="contact-form">
    <label for="name">Log entry name:</label>
    <input type="text" id = "eName"  value="" placeholder="Run at the park"/>
    <label for="email">Name of exercise:</label>
    <input type="name" id = "exercise"  value="" placeholder="Jogging"  />
    <label for="telephone">Date: </label>
    <input type="number" id = "date" value="" />
    </form>

<li><a href="#" onclick ="setCookie()"> Add New Log</a></li>
<li><a href="#" onclick ="getCookie()"> cookie</a></li>

JavaScript的:

<script type = "text/JavaScript">
function setCookie(){

var cookieString = "entry=" + document.getElementById("eName").value +
                    ";exercise=" + document.getElementById("exercise").value +
                    ";date=" + document.getElementById("date").value ;

document.cookie = cookieString;

}

function getCookie(){

alert(document.cookie);

}

当我将cookie显示为警报时,这是响应:

enter image description here javascript的新手,所以请对我温柔,谢谢你,所有的帮助都是适当的。

1 个答案:

答案 0 :(得分:2)

您无法使用document.cookie读取Cookie。

要阅读Cookie,请使用:

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}