dijit.byId('viewEditParameterValue')。值不会返回而.get('value')确实

时间:2015-08-30 14:25:43

标签: javascript html dojo dijit.form

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

<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;

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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