我有一堆编程创建的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