1

複数の値をCookieで取り込むアプリケーションを作成しようとしていますが、setCookie関数は複数の値を取り込んでいないようですが、新しい値を入力すると各値が置き換えられるため、showCookie関数は最後に入力された値のみを表示します。

setCookie:

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

storeValues関数:

function storeValues()  
{
var note= document.getElementById("note").value;



 setCookie("note",note,365);


 alert("Cookies stored!")

 }

関数の表示:

function show()
{
 var note= document.getElementById("note").value;


 alert("Note:" + note  );

}

function showall()
{
var allcookies = document.cookie;
 alert("All Cookies : " + allcookies );

// Get all the cookies pairs in an array
cookiearray  = allcookies.split(';');

// Now take key value pair out of this array
for(var i=0; i<cookiearray.length; i++){
  name = cookiearray[i].split('=')[0];
  value = cookiearray[i].split('=')[1];
  alert("Key is : " + name + " and Value is : " + value);
}
}
4

1 に答える 1

0

=代入演算子( )から連結および代入複合演算子( )に変更する必要があります+=

また、Cookieキーが存在する場合は、それを上書きすることをお勧めします。したがって、Cookieの値をオブジェクトに変換し、それらを変更してから、シリアル化してCookieの文字列に戻すことをお勧めします。

于 2013-01-04T00:55:17.513 に答える