2011-02-27 82 views
0

我有2個div,包含三個不同的文本框。使用JavaScript重新加載頁面時出現問題

默認情況下在頁面加載我已啓用div1。

如果我點擊button2,它將啓用2nd div並禁用div1。

現在我刷新頁面。默認情況下,它會顯示div像頁面加載一樣可見。

有什麼辦法可以使用腳本來顯示div2及其文本框是否可見?

+0

Cookie? http://www.quirksmode.org/js/cookies.html – Thew 2011-02-27 10:48:16

回答

2

如果我理解正確的話,你想能夠記住狀態。

有幾種選擇可以用來達到預期效果。

  1. 餅乾

在頁面加載,你可以檢查一個cookie是否已設置。如果不是,您將默認顯示div1。如果cookie已設置,您將隱藏除cookie指定的所有div之外的所有div。

爲了幫助您自己並節省一些時間,您可以嘗試找到一些用Javascript在線操作Cookie的功能,like this ones

  1. 會議

這種做法或多或少相同與餅乾,唯一的區別是,而不是檢查是否餅乾已經確定,你讓AJAX調用的PHP腳本會檢查會話是否已設置,並使用任何你喜歡的格式(即JSON)向Javascript發送相應的響應。這個選項和前面的兩句之間

  1. 本地存儲

不同的是,本地存儲並不被所有的瀏覽器都支持,所以你必須先檢查瀏覽器的支持。如果用戶的瀏覽器不支持本地存儲,您將不得不使用選項1或選項2,除非您找到更多針對您的問題的解決方案。

要檢查本地存儲的支持,你可以用下面的代碼:

return ('localstorage' in window) && window['localstorage'] !== null 

爲了讓自己有熟悉的localStorage,你可以看這個short video上net.tutsplus。

+0

所以我需要編寫單獨的腳本來啓用div2權利? – TinTin 2011-02-27 12:56:05

+0

是的,您需要使用任何方法創建一個簡單的腳本。我建議你儘可能以一般形式解決問題,所以如果你需要使用2個以上的div,它可以工作。 – hgazibara 2011-02-27 13:04:40

相關問題