2013-01-18 80 views
5

我最近試圖設置一個保存用戶名的cookie,它會打開一個提示彈出框,要求輸入一個新的用戶名。當用戶插入用戶名並單擊「ok」時,它不會將變量(sconName)作爲變量處理,只是放置「sconName」。從變量設置cookie值

注意:Scon是網站的名稱。

繼承人我使用的唯一的腳本:

<html> 
    <body> 
<script> 
function readCookie(name) { 
    var nameEQ = name + "="; 
    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,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; } 
    </script> 
<script> 
    var username = readCookie('sconName'); 
if (username) { 
    document.write("Your current username is: " + username); 
} 
    else { 
    document.write("You have no user name"); 
    } 

    function changeUsername() { 
    var changedName=prompt("Enter user name."); 
    if (changedName) { 
document.cookie = 'sconName=changedName; expires=Wed, 1 Jan 2070 13:47:11 UTC; path=/'}} 
    </script> 
<button onclick="changeUsername()">Change</button> 
</body> 
</html> 

請你能解釋一下如何分辨系統,它的一個變量不只是文本。 謝謝。

+2

所以你問如何連接一個字符串? – SLaks

回答

15

JavaScript不會解析引號內的變量。你需要打破引號使用變量:

document.cookie = 'sconName='+changedName+'; expires=Wed, 1 Jan 2070 13:47:11 UTC; path=/'