2013-12-09 75 views
0

我在UiApp中有几个DateBox小部件。与其他部件一样TextBox我可以简单地这样做:清空日期框值 - Google Apps脚本

UiApp.getElementById("someTextBox").setText("");

,以使该字段为空。当我为DateBox做同样的,它可以接受的唯一的价值是Date对象,所以我可以来“空”最接近的事是今天的日期:

UiApp.getElementById("someDateBox").setValue(new Date());

我想DateBox是空的当UiInstance返回时。有什么办法可以做到这一点?我是否需要重新创建窗口小部件才能让它“空”?

编辑:A液,直到一个更好的方法是在DateBox类实现时,是完全重新创建的微件,并更换任何地方被设在了UiApp之前。请参阅Serge's Answer中的类似问题。

回答

1

您刚刚遇到该日期框中的许多漏洞之一。您将不得不更换它。小心其他问题。例如,我在气体问题页面中填写了一个问题:如果用户选择日期并稍后清除日期框内容,则doGet将接收日期框以前的非空值。由于你不可能从代码中检测到一个空的日期框,并且没有可视化的指示给用户他们必须填写日期,所以对我来说是一个炫耀者,所以我转向了htmlServices和我自己的日期框。

+0

Darn ...我没有问题重新创建DateBox来模拟一个空值 - 幸运的是我的老板将是唯一使用这个应用程序的人,所以我真的不需要担心空值的不一致。感谢您确认我的怀疑... –

+0

我必须注意到,我抱怨的问题(不能得到一个清除日期框)已于今年年初修复:https://code.google.com/p/google-apps-script-issues/issues/detail?id = 2137 –

+0

@ Chris-有验证器可以与日期框一起工作,您可以轻松地将它们与客户端处理程序一起使用,以防止空值或无效值情况。 SO有几个例子。 –