0

チェックボックスでオンとオフを切り替える「高度な検索」ページをユーザーに提供したいと考えています。ページの残りの部分に重なる div を作成し、チェックボックスを次のように使用しました。

style.display = "none"
style.display = "block"

これはかなりうまく機能します。私が欲しいのは基本的にモーダル ダイアログであるため、これは理にかなっています。

すべてのフィールドをクリアしてから、「高度な検索」ページを再度表示する「リセット」ボタンを追加しました。それをすべて達成する方法がわかりません。私には2つのアイデアがありますが、どちらも機能していません:

  1. 検索語のセッション変数をリセットしてから、更新されたページにチェックボックスをオンにするように何らかの方法で指示します。
  2. div を表示または非表示にする代わりに、専用の「高度な検索」ページを使用します。このページは、パラメーター ?search=true を持つルート URL です。チェックボックスは、パラメーターを含む URL とパラメーターを含まない URL を切り替えます。コントロールしやすいようです。

解決策 2 にこの種のコードを使用しようとしてもうまくいきませんでした。

function ModalPage() {
    if( self.location == location ) 
         { self.location = "?search=true"; }
    else { self.location = location; }
    // (some attempts looked less silly than this...)of #2
}

あなたの解決策は?

4

2 に答える 2

2

そのオプションをセッションに保存してから、ページを再度ロードするのはどうですか。ページロード時に、そのセッション変数を確認し、設定されている場合はチェックマークをオンにすることができます。

于 2012-04-30T18:18:58.087 に答える
1

シンプルな「検索ページ」と「高度な検索」ページがあるということですか?または、チェックボックスのクリックに続いて高度な検索機能が表示されたり非表示になったりする 1 つのページしかありませんか?

2 番目のケースでは、「リセット」という新しい JavaScript 関数を追加し、その関数をリセット ボタンに関連付けることができます。

<input type="button" id="resetButton" onclick="reset();" value="Reset"/>

新しい JavaScript の「リセット」機能では、2 つの操作を行うことができます。すべてのフィールドをリセットし、高度な検索コンポーネントを表示します。

function reset() {
    //reset all the fields
    ....

    document.getElementById(YOUR_ADVANCED_SEARCH_ID).style.display = "block";
}

最初のケースでは、リセット機能は次のような高度な検索ページに単純にリダイレクトできます。

location.href = "advancedSearchPage.XXX";
于 2012-04-30T18:37:50.053 に答える