• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームの戻るボタンについて)

フォームの戻るボタンについて

このQ&Aのポイント
  • JavaScriptでユーザがボタンのアクティブ・非アクティブの制御ができるフォームを作成し、サーバサイドで処理し、確認画面を表示している際に、戻るボタンを押した時にユーザが設定した状態をキープしたまま表示させたい。
  • サーバサイドでの処理を試みたが、うまくいかない。良い解決方法があるかどうか知りたい。
  • 例えば下記のようなページから確認画面を経由して戻るような場合に問題が発生している。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

IEの場合戻った場合window.onloadが実行されるので、 そこに適切な処理をいれておけばよいでしょう (1)selectにidを振る <select onchange='fchk2(this)' id="s0"> (2)window.onloadに処理を書き入れる window.onload = function(){ disableAllGr(); fchk2(document.getElementById("s0")); //←追加 }

btnistho
質問者

補足

いつも誠にありがとうございます。 便乗して質問するようで恐縮ですが、 下記のような場合は、どのような処理をするのが適切でしょうか? お答えいただければ有り難いです。 <html> <head> <script language="javascript"> function checkPosi(kind, PosiForm) {   ueLists = document.forms("Form1").elements("ue");   shitaLists = document.forms("Form1").elements("shita");      switch (kind) {   case "ue":     if (PosiForm.checked == true) {       //上チェック可能に       if (ueLists && ueLists.length) {         for (i = 0; i < ueLists.length; i++) {           ueLists[i].disabled = false;         }       } else if (ueLists) {         ueLists.disabled = false;       } else {       }     } else {       //上チェック不可能に       if (ueLists && ueLists.length) {         for (i = 0; i < ueLists.length; i++) {           ueLists[i].disabled = true;         }       } else if (ueLists) {         ueLists.disabled = true;       } else {       }     }   break;   case "shita":     if (PosiForm.checked == true) {       //下チェック可能に       if (shitaLists && shitaLists.length > 1) {         for (i = 0; i < shitaLists.length; i++) {           shitaLists[i].disabled = false;         }       } else if (shitaLists) {         shitaLists.disabled = false;       } else {       }     } else {       //下チェック不可能に       if (shitaLists && shitaLists.length > 1) {         for (i = 0; i < shitaLists.length; i++) {           shitaLists[i].disabled = true;         }       } else if (shitaLists) {         shitaLists.disabled = true;       } else {       }     }   break;   default:   } } </script> </head> <body> <form id="Form1"> <p><input type="checkbox" onClick="checkPosi('ue', this)" id="y1" /> 上をアクティブ  <input type="checkbox" onClick="checkPosi('shita', this)" id="y2" /> 下をアクティブ</p> <p>上-------------------</p> <p><input type="radio" id="ue" disabled />上1  <input type="radio" id="ue" disabled />上2</p> <p>下-------------------</p> <p><input type="radio" id="shita" disabled /> 下1 <input type="radio" id="shita" disabled /> 下2</p> <p>-------------------</p> <p><input type="submit"></p> </form> </body> </html>

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

スクリプトの良し悪しはともかく(じっくりよんでないので) window.onload=function(){ checkPosi('ue', document.getElementById("y1")); checkPosi('shita', document.getElementById("y2")); } とすればよいでしょう

btnistho
質問者

お礼

本当に有難うございます idが重複していたりと汚いソースでしたが、明確な回答有難うございました

関連するQ&A