当我尝试读取我设置的cookie时,似乎不对
这是我的cookie功能
function readCookie(){
if (document.cookie !=""){
document.getElementsByName("eMail").innerHTML = alert("hello, " +
document.cookie.split("=")[1]);
}
}
//for setting cookies
function writeCookie(cName, cValue, expDate, cPath, cDomain, cSecure){
if(cName && cValue!= ""){
var cString = cName + " = " + escape(cValue);
if (expDate) cString += ";expires=" + expDate,toGMString();
if (cPath) cString += ";path=" + cPath;
if (cDomain) cString += ";domain=" + cDomain;
if (cSecure) cString += ";secure";
document.cookie = cString;
}
}
Run Code Online (Sandbox Code Playgroud)
饼干被设置
<input type="submit" value="Submit"
onclick="writeCookie('userId',document.getElementsByName('eMail').value)"/>
Run Code Online (Sandbox Code Playgroud)
警报框
hello, undefined;__utma
Run Code Online (Sandbox Code Playgroud)
想到这意味着什么?
警报功能返回 undefined
所以
document.getElementsByName("eMail").innerHTML = alert("hello, " +
document.cookie.split("=")[1]);
Run Code Online (Sandbox Code Playgroud)
将html设置eMail为undefined.
此外,getElementsByName返回元素集合.
你的意思是
document.getElementsByName("eMail")[0].innerHTML = "hello, " +
document.cookie.split("=")[1];
Run Code Online (Sandbox Code Playgroud)
或者有多个具有此名称的元素?
var eMailElements = document.getElementsByName("eMail");
for (var i = 0; i < eMailElements.length; i++)
eMailElements[i].innerHTML = "hello, " + document.cookie.split("=")[1];
Run Code Online (Sandbox Code Playgroud)
最后,如果您只定位一个元素,则可以给它一个(唯一的)ID,然后就可以了
document.getElementById("eMailId").innerHTML = "hello, " +
document.cookie.split("=")[1];
Run Code Online (Sandbox Code Playgroud)