我有一堆編程創建的NumberTextBoxes。現在,我要計算在按鍵的一些值,所以我調用一個函數爲...看起來是這樣的:Dojo:如何在onKeyPress或onChange的NumberTextBox中獲取最新值?
...
<head>
...
function setNumTextBox() {
...
var val = {
name: "mytextbox",
onKeyPress: keyPressFxn
}
new dijit.form.NumberTextBox(val, "mytextbox");
}
function keyPressFxn(evt) {
// do the processing here
}
...
現在,我的問題是這樣的。用戶鍵入,比如說「12」。當用戶輸入「1」時,dijit.byId(「mytextbox」)。attr(「value」)爲「」。當用戶鍵入「2」時,該值現在爲「1」。總之,我在函數中獲得的值(我也試過了「displayedValue」屬性)並不是最新的。
我試圖使用「intermediateChanges:true」,但它不適用於這種情況下的文本框。現在,我繼續使用「onChange」事件而不是「onKeyPress」。我得到了正確的值,但是......我不知道叫做onChange事件。
問題:
如果我使用「onkeypress事件」事件,我如何獲得最新的價值?意思是,如果我輸入「123」,當我訪問字段的值/顯示值時,我會得到「123」。
如果我使用「onChange」,如何獲取觸發onChange事件的元素的ID? (它不像evt.target.id那麼簡單嗎?試過一個,它不起作用)
或者,我必須使用2的組合嗎?比如,通過onKeyPress獲取調用者的ID,然後獲取用戶通過onChange鍵入的更新值?
謝謝!
啊,這可能是它...謝謝! – callie16 2010-08-10 02:14:23
但你使用什麼事件? – 2012-08-01 09:47:53