我找了一天也没找出错在哪里!!!读取Cookie全部内容时,我只设了两个啊,怎会多出另外一部分不是我想定义的值呢?能读出Cookie的用户名,却无法读取密码,我试了好多次,在读取密码时,我判断两变量cookiesValue[i][0]==cookieName明明为真,软件却判断为假,就不知点样错了,请指教!!!多谢!!!
<html><head><title></title></head>
<script language="javascript" type="text/javascript">
<!--
//设置Cookie
function setCookie()
{
var userName=myForm.myName.value;
var userPassword=myForm.myPassword.value;
document.cookie="cookieUserName="+userName;
document.cookie="cookieUserPassword="+userPassword;
}
function getCookie(cookieName)
{
var cookieMesaage=document.cookie;
var cookieValue="";
if(cookieName=="myName")
{
cookieValue=returnCookieValue(cookieMesaage,"cookieUserName")
alert("姓名为:"+cookieValue);
}
else if (cookieName=="myPassword")
{
cookieValue=returnCookieValue(cookieMesaage,"cookieUserPassword")
alert("密码为:"+cookieValue);
}
}//该函数用于返回Cookie的值
//cookieValue为整个cookie文件的内容
//cookieName为要获得的cookie的名
function returnCookieValue(cookieValue,cookieName)
{
//alert(cookieValue);
var returnCookieValue="Null";
var cookies=cookieValue.split(";"); var cookiesValue=new Array();
for(var i=0;i<cookies.length;i++)
{
var tempArr=cookies[i].split("="); cookiesValue[i]=tempArr;
} for (var i=0;i<cookiesValue.length;i++)
{
if(cookiesValue[i][0]==cookieName)
{
returnCookieValue=cookiesValue[i][1];
break;
}
}
return returnCookieValue;
}
// -->
</script>
<body>
<form method="get" name="myForm" id="myForm">
姓名:<input name="myName" id="myName" type="text" ><br>
密码:<input name="myPassword" id="myPassword" type="password"><br>
<input type="button" value="设置cookie" onclick="setCookie()">
<input type="button" value="读取cookie中的姓名" onclick="getCookie('myName')">
<input type="button" value="读取cookie中的密码" onclick="getCookie('myPassword')">
</form>
</body></html>
<html><head><title></title></head>
<script language="javascript" type="text/javascript">
<!--
//设置Cookie
function setCookie()
{
var userName=myForm.myName.value;
var userPassword=myForm.myPassword.value;
document.cookie="cookieUserName="+userName;
document.cookie="cookieUserPassword="+userPassword;
}
function getCookie(cookieName)
{
var cookieMesaage=document.cookie;
var cookieValue="";
if(cookieName=="myName")
{
cookieValue=returnCookieValue(cookieMesaage,"cookieUserName")
alert("姓名为:"+cookieValue);
}
else if (cookieName=="myPassword")
{
cookieValue=returnCookieValue(cookieMesaage,"cookieUserPassword")
alert("密码为:"+cookieValue);
}
}//该函数用于返回Cookie的值
//cookieValue为整个cookie文件的内容
//cookieName为要获得的cookie的名
function returnCookieValue(cookieValue,cookieName)
{
//alert(cookieValue);
var returnCookieValue="Null";
var cookies=cookieValue.split(";"); var cookiesValue=new Array();
for(var i=0;i<cookies.length;i++)
{
var tempArr=cookies[i].split("="); cookiesValue[i]=tempArr;
} for (var i=0;i<cookiesValue.length;i++)
{
if(cookiesValue[i][0]==cookieName)
{
returnCookieValue=cookiesValue[i][1];
break;
}
}
return returnCookieValue;
}
// -->
</script>
<body>
<form method="get" name="myForm" id="myForm">
姓名:<input name="myName" id="myName" type="text" ><br>
密码:<input name="myPassword" id="myPassword" type="password"><br>
<input type="button" value="设置cookie" onclick="setCookie()">
<input type="button" value="读取cookie中的姓名" onclick="getCookie('myName')">
<input type="button" value="读取cookie中的密码" onclick="getCookie('myPassword')">
</form>
</body></html>
在if比较前,都去一下空格就行了。
以下是我去掉空格的方法,以我的能力,我只能想出这么差的方法啊!你有更好的方法吗?多谢!!for (var i=0;i<cookiesValue.length;i++)
{
[color=#FF0000]if(cookiesValue[i][0]==" "+cookieName)
{
cookiesValue[i][0]=cookieName;
} if(cookiesValue[i][0]==cookieName)
{
returnCookieValue=cookiesValue[i][1];
break;
}
}[/color]