dijit.byId('viewEditParameterValue').value 不会 return 而 .get('value') 会

dijit.byId('viewEditParameterValue').value does not return while .get('value') does

我在 html 中定义了两个文本输入,就像这样..

<revit:validationTextBox id="viewEditParameterValue" maxLength="2500" 
                                        required="true" 
                                        invalidMessage="#{commonuielements.msg_invalid_input}">
                                    </revit:validationTextBox>

<revit:validationTextBox id="viewEditParameterValDefault"
                                        maxLength="100" 
                                        regExp="#{commonuielements.parameter_default_value_regex}" 
                                        invalidMessage="#{commonuielements.msg_invalid_input}"
                                        trim="true"></revit:validationTextBox>

我正试图在这样的 java 脚本函数中获取两个 TextBox 的值..

var value = dijit.byId('viewEditParameterValDefault').value;
var parValue = dijit.byId('viewEditParameterValue').value;

但是对于第一个,我得到了值,但第二行 returns 空白,而如果我使用下面的行,我得到了值。

var parValue = dijit.byId('viewEditParameterValue').get('value');

有没有人猜到可能是什么原因?

get('value') 是检索 Dijit 表单输入小部件值的正确方法。直接访问 value 不能保证为您提供一致的结果(或您期望的结果),因为它取决于实现。对于格式化或映射发挥作用的某些 TextBox 子类,这可能更为重要。

此外,直接设置 value不会完成任何事情,而调用set('value', ...)会正确更新小部件。