我想知道为什么对于某些小部件,例如货币小部件,当我执行dojo.byId来获取文本框的值时,我回到格式化的值意味着我得到这样的东西:“$ 44.3”与美元符号。
然而,当我创建一个自定义百分比文本框,并且它继承自NumberTextbox时(货币文本框小部件也是如此),由于某种原因,执行dojo.byId会返回没有%的值,即使我看到有一个文本框中的%。
我正在尝试对这些东西进行单元测试,出于某种原因,对于货币控制,我能够做到这样的事情:
var formatedValue = dojo.byId("currencyTextBox").value;
doh.t(formatedValue === "$46.93", "incorrect formatting");
当我检查formattedValue时,它给了我“$ 46.93”。
然而,当我尝试使用我的百分比文本框进行相同类型的处理时,如果我在文本框中看到例如“55%”,则会返回55,而不是“55%”:
var formatedValue = dojo.byId("percentTextBox").value;
doh.t(formatedValue === "93%", "incorrect formatting");
所以我不明白为什么行为在使用dojo.byId获取文本框值方面会有不同的行为。 (显然,如果我要做一个widgetInstance.get(“value”);我希望只返回一个整数,原始数字没有格式化。)