我已经在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>
换句话说,我希望用户输入一个密码。然后,我将使用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);
});
}
}