1) 我有一个 dojo 小部件,我在其中加载了另外 2 个小部件。现在在某个时候我想清除小部件中的所有文本框。一种方法是:
this.myAttachPoint.value="".
但是这样做会增加代码行数。我如何使用一些替代代码来清除所有字段?
2) 同样为了验证,我检查了每个字段。 EG
if(this.myAttachpoint.value.trim() == "" ){
//show soime error message
}
现在我的小部件中有 50 个字段并且代码行越来越多。任何人都可以建议我一些替代方案吗?
最佳答案
将所有文本框放入 dijit.form.Form 中元素。 当您想清除所有文本框时,您可以这样做
dojo.forEach(dijit.byId('myForm').getDescendants(), function(formWidget) {
formWidget.attr('value', null);
//or you could just clear the displayedValue, or...
});
其中 myForm 是您的 dijit.form.Form 小部件的 ID。
这只适用于文本框,所以不要在表单中放置任何其他类型的表单小部件。
这将清除表单中的所有文本框。如果您只想清除某些元素,则必须在 forEach 循环中引入条件逻辑。
关于javascript - 使用 dojo 验证/清除所有输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401082/