2012-04-30 97 views
0

我想爲用戶提供一個「高級搜索」頁面,該頁面用複選框打開或關閉。我做了的分層在頁面的其餘部分,並使用複選框像這樣一個div:複選框切換頁面視圖

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

這工作得很好,因爲我想基本上是一個模式對話框,這對我來說很有意義。

我添加了一個「重置」按鈕,它應該清除所有的字段,然後再次出現「高級搜索」頁面。我不知道如何完成這一切。我有兩個想法,但也不是工作:

  1. 復位會話變量爲搜索條件,然後以某種方式告訴 刷新頁面,對複選框。
  2. 而不是顯示或隱藏div,請使用專用的「高級搜索」頁面。此頁面是具有參數?search = true的根網址。該複選框在帶參數和不帶參數的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 
} 

您的解決方案?

回答

2

如何在會話中存儲該選項,然後再次加載頁面。在頁面加載時,您可以檢查會話變量,如果設置了,則勾選複選標記。

+0

我可以將複選框設置爲選中狀態,但不會觸發腳本。也許我只需要設置style.display屬性。 – Smandoli

+0

哦,你點擊了點擊了嗎?是的,我只需設置style.display屬性 - 如果以編程方式執行此操作,頁面不會將其視爲更改。 – dweiss

+0

嘿......我只是有點沮喪,不應該嘗試,因爲我應該。但我還需要一些保證。謝謝! – Smandoli

1

你是說你有一個簡單的「搜索頁面」和一個「高級搜索」頁面? 或者您只有一個頁面,在複選框單擊後顯示並隱藏高級搜索功能?

在第二種情況下,你可以添加一個名爲「重置」一個新的JavaScript的功能和作用的復位按鈕關聯:

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

在新的JavaScript「重置」功能,可以使兩個操作:重置所有領域,並表演了高級搜索組件

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

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

在第一種情況下,復位功能,可以簡單地重定向到高級搜索頁面,像

location.href = "advancedSearchPage.XXX"; 
+0

綜合答案,看起來像。非常感謝 - 我可以再次提到這一點。贊成票。 – Smandoli