1)我有一个dojo小部件,我在其中加载了2个小部件。现在我想要清除小部件中的所有文本框。一种方法是:
this.myAttachPoint.value="".
但这样做会增加代码行。我如何使用一些清除所有字段的替代代码?
2)同样对于验证我正在检查每个字段。 EG
if(this.myAttachpoint.value.trim() == "" ){
//show soime error message
}
现在我的小部件中有50个字段及其不断增加的代码行。任何人都可以提出一些替代方案吗?
答案 0 :(得分:2)
将所有文本框放在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循环中引入条件逻辑。