背景:在达到某个状态后,用户不应该能够修改UI中表单字段中的数据。
UI达到此状态后,需要禁用的输入字段少于40个。
目前,实现是搜索所有可能控件(数组600)的数组,并且唯一与条件中的控件的id不匹配的控件将被禁用。
element.getId()
的示例将是“__xmlview2--SaveBtn
”,“__xmlview2-Page-SaveBtn
”。这些基本上都是控件的id。
//for each control that is not the following controls perform the logic within this statement.
controls.forEach(function(element){
if(element.getId().indexOf("Page-") == -1 &&
element.getId().indexOf("ControlName1") == -1 &&
element.getId().indexOf("ControlName2") == -1 &&
element.getId().indexOf("ControlName3") == -1 &&
element.getId().indexOf("ControlName4") == -1 &&
element.getId().indexOf("ControlName5") == -1) {
//do the logic fr disabling fields here
)};
更清楚地编写此代码的最佳方法是什么,以便明白它的作用是什么?你会怎么做?感谢。
答案 0 :(得分:1)
我建议将字符串放入数组中并使用Array#every
再次检查。
var items = ["Page-", "ControlName1", "ControlName2", "ControlName3", "ControlName4", "ControlName5"],
id = element.getId();
if (items.every(function (item) { return id.indexOf(item) == -1; })) {
// do the logic for disabling fields here
)};