我有这段代码:
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键发送消息“输入代码”
答案 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.
编辑:还要注意你提到的错误发生在处理程序函数中,但由于你没有显示它,没有人可以告诉你什么是错的。因此,即使验证可以防止错误发生,仍然可以更好地修复代码...