2012-07-11 67 views
3

我有一個JQuery腳本,在wordpress-plugin表單上選擇正確的單選按鈕,然後點擊更新按鈕。問題是更新按鈕重新加載腳本導致無限循環。如何使一個JQuery腳本只觸發一次

我怎樣才能確保腳本只做一次工作?這是我正在使用的代碼:

$(document).ready(
    function() 
    { 
     $('input[value="Yes"]').attr('checked', 'checked'); 
     $(".update-button").trigger('click'); 
    } 
); 
+0

因此,更新按鈕提交表單,我拿? – kevin628 2012-07-11 19:10:06

+0

我們可以看到'.update-button'的標記嗎? – 11684 2012-07-11 19:13:13

+0

Document.ready將始終在文檔加載時運行。這就是它的目的。你想讓頁面做什麼?在用戶重定向時提交內容? – Jeremy 2012-07-11 19:14:31

回答

2

一個選項是當點擊頁面刷新時不會丟失的區域中的更新時,存儲值。刷新頁面後,檢查該值是否仍然存在。如果是,請不要重新執行腳本。我選擇使用localStorage爲我的例子,但餅乾工作也是如此:

$(document).ready(function(){ 
    if(!localStorage.updated) { 
     $('input[value="Yes"]').attr('checked', 'checked'); 

     $(".update-button").trigger('click'); 
     localStorage.updated = "true"; 
    } 
}); 
+0

似乎很好的艾略特。但我想知道(這可能是一個愚蠢的問題..),但如果localStorage設置爲true,當下一個人訪問我的網站時會發生什麼?我想我必須由我的網站的用戶存儲信息。你提到過cookies,那將如何工作? (之前從未與cookie一起工作過).. – Benno 2012-07-11 19:26:09

+0

@Benno:每個瀏覽器都有獨立的'localStorage',所以它和cookie有相同的效果。 – 2012-07-11 21:06:46