<script language="javascript">
var str=document.cookie;
//str="ADMINID=SYSTEM:10; TALLY=177; USERID=TEST:11 ";
str=str.split(";");
for(var i=0;i<str.length;i++)
{
strSimple=str[i].substring(0,str[i].indexOf("="));
//strSimple="ADMINID TALLY USERID";
if(strSimple=="USERID")
{ str[i]=str[i].substring(str[i].indexOf("=")+1,str[i].indexOf(":"));
if(str[i]!=="GUEST")
{
 alert("ok");  }  
}

}

</script>大哥们帮我看看为什么总是不走if(strSimple=="USERID") 这句啊,明明有等于USERID的时候?急死人了!!!!

解决方案 »

  1.   

    在if前面分步加alert,看看是哪步出的问题
      

  2.   

    if(strSimple=="USERID") --->if(strSimple==USERID) 
      

  3.   

    USERID 是对象,加上 .value
      

  4.   

    for(var i=0;i <str.length;i++) 

    strSimple=str[i].substring(0,str[i].indexOf("=")); 
    //strSimple="ADMINID TALLY USERID"; 
    if(strSimple=="USERID") 
    {
      str[i]=str[i].substring(str[i].indexOf("=")+1,str[i].indexOf(":")); //这是少了个括号??if(str[i]!=="GUEST") 

    alert("ok"); } 
    } } 
      

  5.   

    alert(strSimple);看看strSimple的值到底是多少。
      

  6.   

     if(strSimple=="USERID") 在 USERID 前面加一个空格就对了,即因改为: 
     if(strSimple==" USERID") 原因:
           "ADMINID=SYSTEM:10; TALLY=177; USERID=TEST:11 ";
           因为你是以 " ; "来分隔的 这句话中的 " ; " 和 USERID 之间有一个空格
           因此取出的字符串是 " USERID" 而不是 "USERID" .