使用dojo验证/清除所有输入框

时间:2011-03-23 05:05:55

标签: javascript dojo

1)我有一个dojo小部件,我在其中加载了2个小部件。现在我想要清除小部件中的所有文本框。一种方法是:

this.myAttachPoint.value="".

但这样做会增加代码行。我如何使用一些清除所有字段的替代代码?

2)同样对于验证我正在检查每个字段。 EG

if(this.myAttachpoint.value.trim() == "" ){
 //show soime error message
}

现在我的小部件中有50个字段及其不断增加的代码行。任何人都可以提出一些替代方案吗?

1 个答案:

答案 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循环中引入条件逻辑。