- 締切済み
チェックボックスを他のページのチェックボックスと連動させる方法
page1.htmlのページにあるチェックボックスと、 page2.htmlにあるチェックボックスを連動させたいのですが、 方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- steel_gray
- ベストアンサー率66% (1052/1578)
#1です。 page2.htmlのjavascript部分に間違いがあったの修正です。 window.onload=function(){ var arg = location.search.split(/\?|\&/); for(var i=0;i<arg.length;i++){ if(! arg[i])continue; var pair = arg[i].split(/=/); var obj = document.getElementsByName(pair[0]); if(obj) obj[0].checked = true; } }
- steel_gray
- ベストアンサー率66% (1052/1578)
詳細がわからないのでまず概念。 フォームをmethod="get"で送信するとフォーム内のチェックボックスがURLに載せて送信されます。(チェックされている時だけ) 受け取り側ではlocation.searchという関数でURLのパラメータ部分を調べられるので、そこを調べてcheckboxにチェックをいれる。 ====== 例)page1.html <form action="page2.html" method="get"> <input type="checkbox" name="checkbox1"> <input type="checkbox" name="checkbox2"> <input type="submit" value="次へ"> </form> ====== 例)page2.html <script type="text/javascript"> window.onload=function(){ var arg = location.search.split(/\?|\&/m); for(var i=1;arg[i];i++){ var pair = arg[i].split(/=/); var obj = document.getElementsByName(pair[0])[0]; obj.checked = true; } } </script> <input type="checkbox" name="checkbox1"> <input type="checkbox" name="checkbox2">
補足
説明不足で申し訳ありません。 page1.htmlには下記のようなチェックボックスがあります。 ☐A ☐B ☐C 選択してからリンクボタンでpage2.htmlに移動します。 page2.htmlにも下記のように同じものがあって、 こちらには、すでにpage1.htmlで選択したものに チェックが入っているようにしたいと思っています。 ☐A ☐B ☐C 説明が悪いかもしれませんがよろしくお願いします。