2013-01-18 11 views
5

से कुकी मान सेट करें मैं हाल ही में उपयोगकर्ता के नाम को रखने वाली कुकी सेट करने का प्रयास कर रहा हूं, यह एक त्वरित पॉप-अप बॉक्स खोलता है जो एक नए उपयोगकर्ता नाम के लिए पूछता है। जब उपयोगकर्ता उपयोगकर्ता नाम डालता है और "ठीक" क्लिक करता है तो यह वैरिएबल (स्कोननाम) को चर के रूप में नहीं मानता है और केवल "sconName" रखता है।परिवर्तनीय

नोट: स्कैन वेबसाइट का नाम है।

यहाँ केवल स्क्रिप्ट मैं उपयोग कर रहा हूँ:

<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

जावास्क्रिप्ट उद्धरण के अंदर चर को पार्स नहीं करता है। परिवर्तक का उपयोग करने के लिए आपको उद्धरणों को तोड़ने की आवश्यकता है:

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