您如何在dojo中编写if条件检查?
if(!dojo.query("#idOfHhtmlField").attr("disabled") == true)
{
//do something
}
在这里,我试图比较#idOfHhtmlField
的禁用属性是否设置为true,但它似乎并不适用于我。
答案 0 :(得分:0)
if(!dojo.query("#idOfHhtmlField").disabled) {
...
}
答案 1 :(得分:0)
我在dojo中测试了这个html,here:
<button id="test0" disabled>button0</button>
<button id="test1" disabled="disabled">button1</button>
<button id="test2" disabled="false">button2</button>
<div id="test3" disabled>div0</div>
<div id="test4" disabled="disabled">div1</div>
<div id="test5" disabled="false">div2</div>
因为你可以在ie8中设置div的禁用,所以它返回全部为true。 但在chrome中只有按钮返回true。 你应该检查#idOfHhtmlField是否是一个表单元素。
我建议您以这种方式检测到禁用,因为浏览器不需要它的值:
if(dojo.hasAttr("id",'disabled')){
//alert(123)
}
我对dojo知之甚少,因为dojo.query()。attr()返回一个对象,它是经过的! here是官方指南。
答案 2 :(得分:0)
idOfHhtmlField
是一个DOM元素(div,span,input等)?或者它是一个dijit小部件?
如果是DOM节点,您可能需要使用:
var field = dojo.byId('idOfHtmlField');
console.log(field.disabled);
如果您正在使用某种类型的dijit小部件(程序化实例化或通过dojoType或data-dojo类型声明),您将需要使用:
var fieldWidget = dijit.byId('idOfHtmlField');
var isDisabled = fieldWidget.get('disabled');
console.log(isDisabled);