• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームの内容をクッキーに保存+項目の非表示)

フォームの内容をクッキーに保存+項目の非表示

このQ&Aのポイント
  • 占いのページ作成時に、生まれ月の選択プルダウンを用意し、1月のみ結果を表示し、他の月は非表示にしたい。また、前回選択した生まれ月をクッキーに保存し、毎回選択させる手間を省きたい。
  • フォームの内容をクッキーに保存するためには、JavaScriptを使用する方法がある。また、項目の表示や非表示を切り替えるには、別のJavaScriptスクリプトを使用することができる。
  • 上記の2つの参考URLを使ってフォームを作成したが、一部表示されてしまう問題がある。組み合わせて解決する方法は限られているため、他の方法を教えてほしい。

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

  • ベストアンサー
  • noris02
  • ベストアンサー率74% (56/75)
回答No.2

bodyにも貼ってあったのですね。 途中までしか見てなかったです。 <body onLoad=・・・> の onLoad="~" を消して、 window.onload=function(){ ~ } の ~に追記してみてください。 <body onload="~"> と同じ働きをします。 ブラウザが htmlをすべて読み込んだら onload 内の ユーザー関数を 自動的に読み込ませるとの事です。 おそらく、javascriptで onload=entryChange(); body の属性で onLoad=" restoreValue(document.form1);"を指定していたので ちぐはぐになってると思われます。 先にクッキー情報を取得してから、entryChange()内を動かせば動くと思います。 entryChange、restoreValueは ユーザー関数なので 読み込ませば機能します。 少し書き直してみて試してみてください。 ↓下記のようになります↓ window.onload = function(){ restoreValue(document.form1); entryChange(); } </script> </head> <body> ~

miya7337
質問者

お礼

早速ためしたら希望通りのものが出来上がりました! body属性でそういうことになっていたのですね。 勉強になりました。 ありがとうございました。

その他の回答 (1)

  • noris02
  • ベストアンサー率74% (56/75)
回答No.1

window.onload = entryChange; を、 window.onload = entryChange(); に 変更で どーでしょうか

miya7337
質問者

お礼

ありがとうございます。 さっそくやってみましたが、やはり1月以外の項目が表示されてしまいました・・・

関連するQ&A