Javascript 使用dojo toolkit启用/禁用按钮

Javascript 使用dojo toolkit启用/禁用按钮,javascript,dojo,Javascript,Dojo,我已经在HTML中声明了一个按钮,我想使用javascript和Dojo工具包动态地启用/禁用它 我编写了以下代码,这应该是一个简单的工作示例: <html> <head> <script language="JavaScript" type="text/javascript"> require(["dojo/dom", "dojo/on", "dojo/request", "dojo/domReady!"], function(dom, on

我已经在HTML中声明了一个按钮,我想使用javascript和Dojo工具包动态地启用/禁用它

我编写了以下代码,这应该是一个简单的工作示例:

<html>
<head>
<script language="JavaScript" type="text/javascript">
require(["dojo/dom", "dojo/on", "dojo/request", "dojo/domReady!"],
        function(dom, on, request){
            on(dom.byId("password"), "keyup", function(evt){
                request.get("/PasswordChecker",
                        {
                            query: {
                                user: document.getElementById("username").value,
                                pass: document.getElementById("password").value
                            }
                        }).then(
                    function(response){
                        if(strength === "STRONG") {
                            dijit.byId("ok").setAttribute('disabled',false);
                        }
                    }
                );
            });
        }
    );
</script>
</head>

<body>
<input id="username" type="text"/>
<input id="password" type="text"/>
<button id="ok" dojoType="dijit.form.Button" type="submit" disabled="disabled">OK</button>
</body>
</html>

require([“dojo/dom”、“dojo/on”、“dojo/request”、“dojo/domReady!”),
函数(dom、on、请求){
on(dom.byId(“密码”),“keyup”,函数(evt){
request.get(“/PasswordChecker”,
{
查询:{
用户:document.getElementById(“用户名”).value,
pass:document.getElementById(“密码”).value
}
}).那么(
功能(响应){
如果(强度=“强”){
dijit.byId(“确定”).setAttribute(“禁用”,false);
}
}
);
});
}
);
好啊

换句话说,我希望用户输入密码。然后,我将使用ajax检查它是否足够强大,是否需要启用OK按钮。

我将代码重写如下:

function updateOkButton(strength) {
    if(strength === "STRONG") {
    //  domAttr.set(okButton, 'disabled', false);
        require(['dojo/on', 'dojo/dom', 'dojo/dom-attr'],
        function (on, dom, domAttr) {
            var okButton = dom.byId("ok");
            domAttr.set(okButton, 'disabled', false);
        });
    }
}
为什么不使用简单的CSS呢?dijit.byId('ok').setAttribute('disabled','disabled');更“dojo”的方法是:var-okButton=registry.byId(“ok”);确定按钮设置(“禁用”,为真);这不仅可以设置属性,还可以在小部件级别为您做更多的事情。