如果某些输入字段未填充,如何禁用该按钮?

时间:2015-02-11 09:53:22

标签: dojo

IBM Web体验工厂使用dojo库,我想知道我是否在消费者模型中设置了<input type="text" name="usrname" required>,如果未填充输入,该按钮是否仍然有效?

1 个答案:

答案 0 :(得分:1)

好吧,HTMLFormElement有一个名为checkValidity()的方法,你可以使用它。

因此,在您的情况下,您可以使用:input选择器和dojo/query来查询表单内的所有输入元素(包括按钮,复选框,文本字段,文本区域和选择框),然后使用onChange事件检查表单是否有效并更改按钮disabled属性。

例如:

query("[name=myForm] :input").on("change", function(evt) {
    var isInvalid = !evt.target.form.checkValidity();
    query("button[type=submit]").attr("disabled", isInvalid);
});

现在您需要做的就是确保您的按钮最初被禁用/启用,具体取决于表单的初始状态。

可以在JSFiddle上找到完整的示例:http://jsfiddle.net/j8L6j77g/