Google应用脚本:检查字段输入为空

时间:2013-12-18 09:17:21

标签: google-apps-script

我有这段代码:

  function doGet() {
  var app = UiApp.createApplication()
        .setTitle("Show verifica")
        .setHeight(15).setWidth(500)
 var form = app.createFormPanel().setWidth(400).setHeight(30).setTitle("Form Panel
  Search").setVisible(true);
var fPanel = app.createFlowPanel().setId('fPanel').setTitle("Panel search");    

// input search 
 fPanel.add(app.createTextBox().setName('idSearch').setId('idSearch').setWidth(150));
 var clickHandler =
     app.createServerClickHandler("respondToSubmit").addCallbackElement(fPanel);
   fPanel.add(app.createButton("Search", clickHandler).setEnabled(true));
   form.add(fPanel);
app.add(form); 
return app;
 }

 function respondToSubmit() {
 // .... code
  return app;
 }

如果你没有插入任何代码,我按回车键搜索我得到错误:“错误被鼓励。发生意外错误” 我想检查“idSearch”为空白,然后按Enter键发送消息“输入代码”

2 个答案:

答案 0 :(得分:0)

我在这里发布的代码中没有看到任何错误,错误似乎与responseToSubmit函数中使用的代码有关,您是否使用任何getelementbyID,因为它们在调用不存在的ID时通常会导致这些错误。 / p>

答案 1 :(得分:0)

您可以使用validators来处理...

在处理程序上添加一个验证器,其中包含textBox内容长度的条件,如果textBox为空,它将阻止触发。

您还可以通过添加clientHandler显示的警告消息来获得更加用户友好的行为,该消息也在textBox长度上有效但具有反转条件,以便当textBox为空并且您单击按钮时消息显示。

dozens of example here on SO using validators, a quick search will guide you.

编辑:还要注意你提到的错误发生在处理程序函数中,但由于你没有显示它,没有人可以告诉你什么是错的。因此,即使验证可以防止错误发生,仍然可以更好地修复代码...