如何在 Google 应用程序脚本中创建弹出框?

How do I create a pop up box in Google App script?

基本上这是我的问题:

如何使用带有 HTML 服务的 Google 应用程序脚本创建弹出窗口或对话框。

我在 Google 脚本文件(与 HTML 文件相对应)中进行大量验证,我只需要快速告诉用户错误,然后他们可以调整他们的表单和继续……这是我到目前为止的验证尝试。我试过只使用 javascript alert() 函数,但它什么也没做。

if(date == ""){
     alert("please select a date");
   }else if(teacher == ""){
     alert("please put your name");
   }else if(group == ""){
     alert("Please enter a group");
   }else if(notes == ""){
     alert("Please write where the tech is being used in the notes");
   }else if(events.length != 0){
     window.alert("It appears that the slot your trying to book is taken");
   }else{

我希望我能以这种方式进行验证,而不必进行全新的验证方法(很可能来自 HTML 文件)

如果您的验证脚本(if elseif 语句)在 Code.gs 文件中,警报功能将不起作用。

您要做的是使用 .withSuccessHandler 将该错误消息抛给 html 脚本中的 google.script.run 函数,然后从那里发出警报。
由于警报是从 html 中调用的(而不是在 .gs 文件中),它将起作用。

假设您上面的脚本在一个名为 validateForm() 的函数中,并且您在表单提交按钮上调用它,代码将如下所示:

HTML 文件

// some codes and scripts here

Google.script.run.withSuccessHandler(showAlert).validateForm(this.form);

function showAlert(stringFromCodeGs) {
  if (stringFromCodeGs != false) {
   alert(stringFromCodeGs);
}

GS 文件

function validateForm(formObject) {
if(formObject.date == ""){
     return "please select a date";
   }else if(formObject.teacher == ""){
     return "please put your name";
   }
   // your other else if here
   }else{
     //your code to process form here
      return false;
   }

它所做的是将错误消息抛出 (return) 返回给您的 google.script.run,然后它将用作成功处理程序的参数 - 在本例中为 showAlert () 函数,由 .withSuccessHandler() 自动调用。

希望这对您有所帮助。