FormPanel使用ServerHandler验证提交

时间:2013-01-29 16:16:25

标签: google-apps-script

我想将ServerHandler绑定到提交按钮,这样我就可以在提交之前验证我的表单。如果验证成功,则将执行表单的POST。如果验证失败(由于字段不完整或不正确),则POST将停止,并且ServerHandler可以指示不正确的字段。您在Javascript中使用event.preventDefault()执行的操作,或者在提交的按钮处理程序中返回false。

var app = UIApp.getActiveApplication();
var form = app.createFormPanel();
var panel = app.createVerticalPanel();
// Add form elements to panel such as textboxes, radio buttons, list boxes etc.
...
...

var button = app.createSubmitButton("submit");
button.addClickHandler(app.createServerHandler("validate").addCallbackElement(panel));
panel.add(button);
form.add(panel);
app.add(form);


function validate(e) {
    // Do the validation of the form

    // QUESTION - How do we then disable or allow the POST?
}

所以我目前正在做的就是拥有一个验证按钮(普通按钮),如果在serverhandler中完成的表单验证是好的,它将变为“提交”按钮。然后,用户必须再次单击该按钮以提交表单。我必须锁定所有元素,以防止它们在验证良好后更改任何字段。必须有更好的方式更类似于上面提到的Javascript路由,并在此处引用:event.preventDefault() vs. return false

作为参考,如果将验证ServerHandler绑定到提交按钮,它将始终执行POST。

0 个答案:

没有答案