• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォーム内容を上から順番にJavaScriptでCookieに入れて、また戻す方法)

JavaScriptでフォーム内容をCookieに入れて戻す方法

このQ&Aのポイント
  • フォームの内容をJavaScriptで上から順番にCookieに保存し、再びフォームに戻す方法を教えてください。
  • JavaScriptを使用して、フォームに入力された内容を上から順番にCookieに保存し、次回ページを読み込んだ際に再びフォームに戻せる方法を知りたいです。
  • JavaScriptを利用して、フォームに入力された内容を上から順番にCookieに保存しておき、後でこの情報を再度フォームに戻すための方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

<form name="Form">などとフォームに名前をつけておき、 document.Form.elements[0].value = unescape(cook[0]); とやれば戻せるのでは? ラジオボタンやチェックボックス、リストなどの場合でしたら、ひとつひとつの値をcookieと比較して、一致する場合にcheckedやselectedにするって感じですかね。 私は要素名を使ってこんな感じで書いています。 テキストボックス、ラジオボタン、セレクトボックスのそれぞれの処理例です。 // Cookie出力 function getCookie(){ 中略(クッキーを配列cookに取得) document.Form.V1.value = unescape(cook[0]); h = document.Form.V2.length; for (i=0; i < j; i++) { if (document.Form.V2[i].value == cook[1]) { document.Form.V2[i].checked = true; } } j = document.Form.V2.length; for (k=0; k < j; k++) { if (document.Form.V2[k].value == cook[2]) { document.Form.V2[j].selected = true; } } } フォーム <form name="Form" onsubmit="saveCookie(V1.value,V2.value,V3.value)"> <input type="text" name="V1"> <input type="radio" name="V2" value="1"> <input type="radio" name="V2" value="2"> <select name="V3"> <option value="1">1 <option value="2">2 <option value="3">3 <input type="submit" value="送信"> </select> </form> ご参考になりましたら幸いです。

Java-Java
質問者

お礼

ありがとうございます。出来ました! いいとこまでは行ってたんですが、フォーム名なしで下記のようにしてたのがダメな原因でした。 名前付けたら出来ました。 document.this.form.elements[0].value = unescape(cook[0]); 教えてもらったままだとCookieが無い場合「undefined」と表示されていたので下記のようにしました。 if (cook[0]) document.form.elements[0].value = unescape(cook[0]); ラジオボタンやチェックボックスの使い方もありがとうございます。参考にさせてもらいます。 また質問することがあるかと思いますが、その時はよろしくお願いします。 では失礼します。

Java-Java
質問者

補足

お礼を書いてから気づいたのですが、フォームの名前を付けずに下記でも出来ました。 document.forms[0].elements[0].value = unescape(cook[0]); でも名前付けた方がわかりやすいですね。

関連するQ&A