• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jquery.cookie.jsの使い方が分かりません。)

jquery.cookie.jsの使い方について

このQ&Aのポイント
  • 入力フォームでのjquery.cookie.jsの使い方について分かりやすいソースサンプルや解説を求めています。
  • 入力フォームでデータを保存するためにjquery.cookie.jsを使用したいですが、スクリプトの書き方が分かりません。
  • jquery.cookie.jsを使った入力フォームのデータ保存方法について教えてください。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

#1です。 >どのように取得して、どのように呼び出したらいいか >アドバイスいただけませんでしょうか アドバイスできるような柄ではありませんが… ラジオボタンのチェックの状況はその要素のchecked属性で取得/設定が可能です。 単純に各要素の設定状況(true falese false…)みたいなのを記録しておくか、どうせ選択されるものは一つだけ(または0個)なので、その番号を記録しておくなどすれば再現が可能だと思われます。 ごく簡単な取得/設定の例を作成してみました。 取得は、選択されたものの順番と各設定状況を、設定は番号によってセットする例です。 簡単な入力チェックなども入っているので、実際にはもっと短くまとめられるはずです。 (全角空白は半角にしてください) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>test</title> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function get() { var elm = document.getElementById("form1").elements; var i=0, e, c=0, result = ""; while (e=elm[i++]) {  if (e.type == "radio") {   result += (result?", ":"") + e.checked;   c++;   if (e.checked) result = "No" + c + " : " + result;  } } document.getElementById("text1").value = result; } function set() { var n = document.getElementById("text2").value; var elm = document.getElementById("form1").elements; var i, c=0; if (isNaN(n = parseInt(n))) {  alert("数字を入力"); return; } for (i=0; i<elm.length; i++) {  if (elm[i].type == "radio") {   if ((++c) == n) elm[i].checked = true;  } } } //--> </script> </head> <body> <form id="form1"> <input type="radio" name="test">ラジオ1 <input type="radio" name="test">ラジオ2 <input type="radio" name="test">ラジオ3 <form> <hr> <p> <input id="text1" type="text" value="" style="width:12em;"> <input type="button" value="選択ボタンを表示" onclick="get()"><br> <input id="text2" type="text" value=""> <input type="button" value="番号によりラジオボタンをセット" onclick="set()"> </p> </body> </html>

momorika
質問者

お礼

ご親切にありがとうございます! 早速試してみます。 大変勉強になります。

その他の回答 (2)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

「jquery.cookie.js」の方じゃなく「jquery.ooCookie.js」 http://www.bsped.com/jquery.ooCookie.js の方を使って、簡単に作ってみました。 <form name="input">   性別:<input type="radio" name="sex" value="男性" />男性/      <input type="radio" name="sex" value="女性" />女性<br />   名前:<input type="text" name="name" /><br />   住所:<input type="text" name="add" /><br />   <input type="button" value="記録" onClick="setck(this.form)" /><br />   <input type="button" value="呼び出し" onClick="getck(this.form)" /><br /> </form> に対して、 <script type="text/javascript"> function setck(f){  var c = new $.cookie();  c.data=$(f).serialize();  c.set(); } function getck(f){  var c = new $.cookie();  c.get();  var datas=decodeURIComponent(c.data).split("&");  for(var i=0;i<datas.length;i++){   var data=datas[i].split("=");   for(var j=0;j<f.length;j++){    if(f[j].type=="radio" && f[j].name==data[0] && f[j].value==data[1])    f[j].checked=true;    else    if(f[j].type=="text" && f[j].name==data[0])     f[j].value=data[1];   }  } } </script> ※行頭の全角空白文字は、半角空白に変えて下さい。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

確認してませんが… プラグインのサンプルコードをご覧になれば使用法はわかるかと http://plugins.jquery.com/project/Cookie http://stilbuero.de/jquery/cookie/ 要は  $.cookie(key, data, { expires : day });  で書き込み  $.cookie(key);  で読み出しみたいな感じ ◇日本語での解説サイト http://mysketch.jp/blog/2008/10/javascriptjquerycookie.php ◇jQuery Cookieライブラリ] クッキーのデータを保存する/読み出す http://www.openspc2.org/reibun/javascript2/Library/jquery-cookie/0001/ http://www.openspc2.org/reibun/javascript2/Library/jquery-cookie/0002/

momorika
質問者

補足

ご回答ありがとうございます!!(御礼が遅くなりもうしわけありません) 教えていただいたサイトを参考に、がんばって試してみたところ、テキストボックスのデータのやりとりはうまくいくようになりました。うれしいです。 ただ、残念ながら、ラジオボタンの部分がうまくできません・・・。 よろしければ、どのように取得して、どのように呼び出したらいいかアドバイスいただけませんでしょうか・・・? ぜひともよろしくお願いします。

関連するQ&A