繁体   English   中英

无法在dojo中读取未定义的属性“set”

[英]Cannot read property 'set' of undefined in dojo

我正在使用set属性来启用和禁用按钮,基于复选框click..while编译得到这样的错误。 “无法读取'未定义'属性''可以请任何人帮助。谢谢提前。

JS:

if(dojo.byId('pickLstValChkbox').checked === false){
    dijit.byId('isK9Acccepted').set('disabled', true)
}
else{
    dijit.byId('isK9Acccepted').set('disabled', false)
}

HTML:

<input type="CHECKBOX" name="" dojoType='dijit.form.CheckBox' id="pickLstValChkbox" value="CONFIRM_CHECKED">
<button class="defaultButton" dojoType="dijit.form.Button" id="isK9Acccepted">Accept</button>

当您尝试在解析之前访问dijit控件时,会发生此问题。 使用dojo.parser.parse(); 在做任何事之前。 更多详细信息可以在这里找到。 https://dojotoolkit.org/reference-guide/1.6/dojo/parser.html

另外,您使用的是哪个版本的道场? 看起来您正在使用传统的编码方式。 我建议你迁移到AMD风格。

首先要调用parser.parse() (创建并渲染dijits)

然后要访问你的dijit,你必须使用dojo/ready来确保加载和渲染所有dijit's

在您的情况下,当您选中复选框(未选中)时,您需要启用(禁用)按钮,因此,您必须在复选框dijit上使用change事件

请注意,现代dojo在其html attrib中使用了dojoType or dojoEvent ...的data-dojo-* [type,event,id]。

这是一个可以帮助你的小提琴小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM