先ほどの質問に関連して教えてください。
複数のselectフォームを左から順に、前の項目によって次の項目の内容が変化する、というものを作りました。
しかしながら別のページへフォーム送信した後、ブラウザーの戻る機能を使ってフォームのあるページに戻ると元々は[選択してください]という項目しかないために存在しないSelectボックスのOptionIndexを参照され、空白となってしまうのを避けたいのです。(new Optionを利用)
ブラウザーの仕様としてはいたって普通だと思うのですが、一般ユーザはそんな理由は受け付けません。
戻ったらそのとき選択したフォームのままであって欲しいと考えるはずなので、御指南願えませんでしょうか。
No.3ベストアンサー
- 回答日時:
二つの質問を見てふと思ったのですが・・・
検索機能の結果画面から、検索画面へと戻った場合の問題なのですよね?
でしたら、検索結果画面をwindow.openなりtarget="XXX"なりで別画面表示してしまってはダメなのでしょうか?
若干見た目は悪くなるかもしれませんが、ユーザーの使い勝手からいえば、むしろ良好な結果になりそうに思うのですが・・・。
その通りです。が、ウィンドウを新しく開くのは個人的には好みません。
しかし、時間がないときにはその方法で実現するのもありそうですね。
現在は戻ったときは一度限り、最後に検索したフォームの形を復元するのが完璧に動いています。
ありがとうございました。
No.2
- 回答日時:
では、new optionを使った簡単なサンプルソースを
記載してください。
静的なドロップダウンメニューの場合、戻っても
キャッシュにより値が保持されるので場合によっては
対応が可能かもしれません。
とりあえずjavascriptが使える前提であれば
データをcookieで保持しonloadで、イニシャル
処理をいれれば再現できると思いますよ
(そこまでしなくてもできそうですが)
ありがたいのですが・・・・
> 静的なドロップダウンメニューの場合、戻っても
> キャッシュにより値が保持されるので場合によっては
> 対応が可能かもしれません。
それの場合は何もしなくてもどのブラウザでも問題なくキャッシュされます。
> とりあえずjavascriptが使える前提であれば
> データをcookieで保持しonloadで、イニシャル
> 処理をいれれば再現できると思いますよ
onloadはブラウザの戻る機能では実行されません。(Mac:Safari Win:Firefox1.5 IE6)(Mac版のFirefoxでは動きます)
現在、cookieにそれぞれの値ではなく、Selectboxでのインデックスをセッション内として保存し、onMouseOverをbodyにあて、一度限り実行することによって値をリストアするか、初期化するように変えました。
・戻ったか、という判定は面倒なため、一度限りの実行で同一の動きが可能。
・cokieにそれぞれの値を入れると、それを表示するだけになってしまうので、そこからさらに復元されたメニューで選択できるよう、値を復元した跡にcookieに保存してあるSelectedindexで、Optionをselectedにしています。
これより何か、スマートな方法はございますでしょうか? 現在、ソースが百行を超えてしまっています。
No.1
- 回答日時:
普通は戻らないようにつくるのではないでしょうか?
本要望はかなりブラウザ依存のものだと思います。
特定のブラウザに限定してよいなら可能かもしれない
ので、ご提示ください。
もし、すべてのブラウザ(たとえば携帯をふくむ)
で完璧なものを希望なさるようであれば
むりだと思っていただいたほうがよろしいかと思います。
検索システムなので戻ることが十分考えられます。
Safari2.0.3、Firefox1.5、InternetExplorer6に対応させたいと思っています。
可能性ありますでしょうか?
そもそも携帯電話ではJavaScriptは動かないため、除外します。
もちろん、ケータイブラウザもです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- 確定申告 e-taxで開業届を出す方法がわかりません 1 2022/06/01 19:00
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
C言語で今まで表示していた画面...
-
Strutsで画面遷移させない。
-
FormのsubmitでFormの内容がnull
-
C# ログイン画面からメイン画面...
-
プログラミングで例えばゲーム...
-
SessionとViewStateについて
-
ホームページビルダーが遅い!...
-
サブミット後、自動的に画面を...
-
ASP.NET 画面遷移前の状態を保...
-
system("cls")について
-
"+"文字が" (スペース)"に文字...
-
Javascriptのhistory.back()が...
-
GUIとは何でしょうか?(定義)
-
URLはそのままで、リンクをクリ...
-
Java-jspの画面入力値保持について
-
画面を隠す・消す方法を教えて...
-
strutsで、JSP→アクションクラ...
-
ブラウザ表示しない設定のPDFの...
-
遷移元を判定したい!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
画面遷移を行わずに同一ページ...
-
プログラミングで例えばゲーム...
-
フロントエンドフレームワーク...
-
Java-jspの画面入力値保持について
-
遷移元を判定したい!
-
ASP.NET 画面遷移前の状態を保...
-
Googleキーワードについて キー...
-
Javaプログラミングの質問にな...
-
C言語で今まで表示していた画面...
-
ボタンを押したあとに画像を表...
-
セッション切れでのリクエスト...
-
C# ログイン画面からメイン画面...
-
JavaScriptでページが更新され...
-
ServletからServletへの値渡し
-
ZOOMでオンラインミーティング
-
登録後、呼び出し元ページに戻...
-
サブミット後、自動的に画面を...
-
アドレスバーに引数を表示させ...
-
Beautiful Soupのインストール...
おすすめ情報