- ベストアンサー
クッキーに1,2,3という結果を書き込む方法
- クッキーに上から順に1,2,3という結果を書き込む方法について教えてください。
- JavaScriptを使用して、チェックボックスをクリックするたびにクッキーに値を書き込む方法を教えてください。
- クッキーに書き込まれた値を取得してアラート表示する方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
書き込み方法はこれで良いと思います。 ただし、この方法だとチェックしたものしか書き込めませんし、チェックを外しても書き込んでしまいます。 まず、チェックを判定してチェックされている値を連結してCookieに書き込みます。 あとはCookieの呼び出しですが下記URLのサンプルのスクリプトを参考にすれば値を取得できます。 例) <SCRIPT LANGUAGE="JavaScript"> function memoryCookie(){ //チェックの判定 var ii = 0; var s = 3;//チェックボックスの数 num = new Array(); for(var i=0;i<s;i++){ if(document.myform.test[i].checked){ num[ii] = document.myform.test[i].value; ii++; } } //値の連結 if(ii>=2){ yy = num.join(","); }else{ yy=num[0]; } expires = new Date() expires.setTime(expires.getTime() + 24*60*60*1000) document.cookie = "mydata=" + yy + ";expires=" + expires.toGMTString() //Cookie値の取得 data_a=getCookie("mydata"); alert(data_a); } //Cookieからの値の取得(サンプルより) function getCookie(key, tmp1, tmp2, xx1, xx2, xx3) { tmp1 = " " + document.cookie + ";"; xx1 = xx2 = 0; len = tmp1.length; while (xx1 < len) { xx2 = tmp1.indexOf(";", xx1); tmp2 = tmp1.substring(xx1 + 1, xx2); xx3 = tmp2.indexOf("="); if (tmp2.substring(0, xx3) == key) { return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1))); } xx1 = xx2 + 1; } return(""); } </SCRIPT> </HEAD> <BODY> <form name="myform"> <INPUT TYPE="CHECKBOX" NAME="test" VALUE="1" onclick="memoryCookie()">1<BR> <INPUT TYPE="CHECKBOX" NAME="test" VALUE="2" onclick="memoryCookie()">2<BR> <INPUT TYPE="CHECKBOX" NAME="test" VALUE="3" onclick="memoryCookie()">3<BR> </form>
お礼
回答ありがとうございました。 もっと簡単かと思っていたら、いろいろ手順が必要なんですね・・ (^^; >ただし、この方法だとチェックしたものしか書き込めませんし、チェックを外しても書き込んでしまいます。 そうですね。 >まず、チェックを判定してチェックされている値を連結し そういう手順が必要だと全然考えいませんでした。 >あとはCookieの呼び出しですが下記URLのサンプルのスクリプトを参考にすれば値を取得できます。 cookieをいろいろと扱えるようになるのには、まだだいぶ時間がかかりそうです。 (^^;