Grid 仅当网格中的所有值均为int时,谷歌应用程序脚本ui启用按钮
我有一个使用UI服务(而不是HTML服务)编写的GoogleApps脚本应用程序,该应用程序嵌入到Google站点中 我有一个由15个值(3x5)组成的网格。我能够使用clientHandler验证每个文本框中的值是否为整数 我想确保在启用Submit按钮之前正确设置了所有15个值 最好的方法是什么 显然,只需切换button.setEnabled属性onChange是不好的,就好像一个小部件禁用了按钮,但下一个是有效的整数,它将重新启用按钮 我曾考虑过使用服务器处理程序,但认为这可能会很慢而且不可靠。如果可以的话,我想把它保留在客户端。我觉得这应该是可能的,但我就是想不出来。我错过了什么Grid 仅当网格中的所有值均为int时,谷歌应用程序脚本ui启用按钮,grid,google-apps-script,client-side-validation,google-sites,Grid,Google Apps Script,Client Side Validation,Google Sites,我有一个使用UI服务(而不是HTML服务)编写的GoogleApps脚本应用程序,该应用程序嵌入到Google站点中 我有一个由15个值(3x5)组成的网格。我能够使用clientHandler验证每个文本框中的值是否为整数 我想确保在启用Submit按钮之前正确设置了所有15个值 最好的方法是什么 显然,只需切换button.setEnabled属性onChange是不好的,就好像一个小部件禁用了按钮,但下一个是有效的整数,它将重新启用按钮 我曾考虑过使用服务器处理程序,但认为这可能会很慢而且
欢迎所有建议。谢谢。一旦所有字段都是整数,这将启用submit,但需要向其中添加更多内容,以处理值在首次通过验证后可能变回非整数的情况
function doGet() {
var app = UiApp.createApplication();
var field1 = app.createTextBox();
var field2 = app.createTextBox();
var field3 = app.createTextBox();
var submit = app.createButton('SUBMIT').setEnabled(false);
var handler = app.createClientHandler().validateInteger(field1)
.validateInteger(field2).validateInteger(field3)
.forTargets(submit).setEnabled(true);
field1.addValueChangeHandler(handler);
field2.addValueChangeHandler(handler);
field3.addValueChangeHandler(handler);
app.add(field1).add(field2).add(field3).add(submit);
return app;
}
UiApp帖子在这方面很有帮助。您介意发布您已经编写的doGet函数代码吗?这将节省我们编写测试代码的精力。。。