2012-02-02 51 views
1

是否有任何方法可以檢測到文本框值已更改,用戶是否明確更改它或某些java腳本代碼修改了文本框?我需要檢測到這種變化。跟蹤/觀察TextBox值已更改

+1

可能與http://stackoverflow.com/questions/1481152/jquery-how重複-to-detect-a-textboxs-content-has-changed – 2012-02-02 08:02:54

+0

@GhyathSerhal,如果值從javascript更改,我還需要檢測值。 – user960567 2012-02-02 08:06:57

回答

2

要跟蹤用戶改變,你可以添加一個處理按鍵:

$(selector).keypress(function() { 
    // your code 
}); 

更新:除了留意按鍵, 可以使用 change功能,通過JavaScript 從變化看。它不會對用戶立刻修改工作(僅稱爲輸入失去焦點後),但連同keypress我相信你涵蓋所有情況:

$(selector).change(function() { 
    // the same code 
}); 

setTimeout(function() { $(selector).val("changed"); }, 2000); // Will trigger the change 

編輯:對不起,它似乎JavaScript的工作太,但我錯了......然而,This question將能夠解決您的問題(使用setTimeout進行測試,並且能夠檢測到此更改)。

我在jsFiddle上發佈了example。使用這個新的watch插件,您不再需要keypresschange:它可以用於鍵入輸入,複製/粘貼,JavaScript等。

+0

如果價值從javascript變更不起作用 – user960567 2012-02-02 08:34:52

+0

@ user960567您是否嘗試過鏈接問題建議?檢查我更新的答案,我在jsFiddle上發佈了一個例子。 – mgibsonbr 2012-02-02 08:49:05

+0

這不是一個很好的計時器來檢查每次更改的值。 – user960567 2012-02-02 09:34:49