设置style.backgroundColor会关闭代码

时间:2017-06-09 23:36:00

标签: javascript google-apps-script

我正在进行一些表单验证,我在表格中使用for(elem in myform)循环检查所需字段的列表并将背景颜色设置为“粉红色”(如果必填字段)没有价值。

要将颜色重置为默认值,我会在循环开始时将属性设置为null。

它完美无缺,但由于一些奇怪的原因,它在循环后不会运行我的google脚本调用。 (或我尝试过的警报)

花了几个小时试图找出原因,注释出位和位并最终得到:如果我删除了颜色重置部分..谷歌脚本运行并且一切正常(除了现在已经完成的字段的颜色仍然存在)粉红色)

=ADDRESS(AGGREGATE(14,6,(ROW(INDEX(L1:P5,0,AGGREGATE(14,6,COLUMN(L1:P5)/(L1:P5<>""),1)-MIN(COLUMN(L1:P5))+1)))/(INDEX(L1:P5,0,AGGREGATE(14,6,COLUMN(L1:P5)/(L1:P5<>""),1)-MIN(COLUMN(L1:P5))+1)<>""),1),AGGREGATE(14,6,COLUMN(L1:P5)/(L1:P5<>""),1))

我甚至尝试评论实际的值更改,只留下if子句但仍然不起作用。以某种方式访问​​该属性会阻止我在循环后做任何事情。

解决方案(而不是解决方法):我的一些对象没有样式属性,并且尝试访问其中的backgroundColor引发了异常,所以我正在测试样式属性是否首先存在a if(thisEl.style!= null)

1 个答案:

答案 0 :(得分:1)

解决方案:我的一些对象没有样式属性,并尝试访问其中的backgroundColor引发异常,因此测试样式属性是否首先存在if(thisEl。 style!= null)解决了这个问题。

最初我并不知道为什么会有这样的对象,所以归功于@ T​​raktor53指出单选按钮组在表单元素集合中表示为RadioNodeList,它没有样式对象属性。 (详见评论)