2011-03-20 39 views
0

我有這樣的按鈕:巴頓成爲了瀏覽器的歷史可以追溯到後被禁止

<button value="1" name="submit" disabled="true" id="signup-bb" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-disabled ui-state-disabled ui-button-text-only" role="button" aria-disabled="true"> 

點擊該網頁上的一些單選按鈕後,「註冊-BB」按鈕becaming可用

啓用「註冊-BB」按鈕:

 $("signup-bb").removeAttr('disabled'); 
     $("signup-bb").attr('aria-disabled', false); 
     $("signup-bb").removeClass('ui-button-disabled'); 
     $("signup-bb").removeClass('ui-state-disabled'); 

後,我的按鈕喜氣洋洋的那樣:

<button value="1" name="submit" aria-disabled="false" id="signup-bb" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button"> 

當我點擊這個按鈕表單獲取發送到服務器,經過一些處理後,我重定向到另一個控制器,所有看起來不錯,但如果我點擊返回瀏覽器按鈕,我來到前一頁與按鈕,我做可點擊(「註冊-BB」),但這個按鈕禁用狀態有:

<button value="1" name="submit" disabled="true" id="signup-bb" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-disabled ui-state-disabled ui-button-text-only" role="button" aria-disabled="true"> 

任何思考如何解決這個問題,當用戶單擊後退以顯示他這是之前的狀態?

回答

0

發生這種情況的原因是因爲當頁面第一次加載按鈕被禁用,並且這是頁面存儲在瀏覽器歷史記錄中的狀態。然後,當單擊單選按鈕並啓用signup-bb按鈕時,您使用JavaScript對DOM進行了一些更改,但這些更改未保存到瀏覽器歷史記錄中。當用戶點擊後退按鈕時,頁面在保存狀態下從歷史記錄加載,即禁用按鈕。

+0

我能做些什麼來解決這個問題? – Reg 2011-03-21 02:46:31

0

A排序解決辦法的,我只是用來解決這個問題是重新啓用上卸載事件的按鈕:

(function ($) { 
    // creates the jQuery UI button treatment for all button elements 
    $('button').button(); 
    $(window).unload(function() { 
     // re-enables the jQuery UI button treatment on all 
     // button elements on the window unload event 
     $('button').button('enable'); 
    }); 
})(jQuery); 
+0

提供給任何閱讀此答案的人:在11月13日東部時間美國東部夏令時間上午11點左右給出的這個答案的低估是另一個用戶報復我給他們的公平倒退的倒退... – gabe 2012-11-13 20:43:10