停止选择器在 HTML 结束后关闭

Stop Picker from closing after coming to end of HTML

我按 button/image 到 运行 脚本打开选择器。我可以 select 现有文件夹,并且添加了一个字段来创建新文件夹(在 selected 现有文件夹中)。

所有这些都按我的意愿工作,但我添加了一些错误处理,以防在没有给出文件夹名称的情况下按下创建新文件夹的按钮。我将消息放入警报中(可能需要修改它,因为它为 'prevent this page from displaying additional dialogues' 提供了选项)但是一旦警报消失,html 就会消失。

如何保留按下按钮之前 IFRAME 中的 HTML?

这是我的 HTML 代码和按钮背后的功能。

</head>
<body>
  <div>
    <p> Please select the property you wish the ticket folder to be created in. </p>
    <button onclick='getOAuthToken()'>Select a Folder</button>
    <br>
    <p> (If it does not exist, select the folder you wish to create a new location in.) </p>
    <p id='result'></p>
  </div>
  <script src="https://apis.google.com/js/api.js?onload=onApiLoad"></script>
  <br><br><br>
  <div id="frmCreate" style="display:none">
    <form>
      <label class="hiddenfrm"> Folder Name: </label><input type="text" id="newFdrNm" class="hiddenfrm">
      <button onclick='makeFolder()' class="hiddenfrm">Create New Folder</button>
      <p id='newresult' class="hiddenfrm"></p> 
    </form>  
  </div>
</body>
</html>

    //function to create a folder in the selected folder
    function makeFolder() {
      var ParentFolder = document.getElementById('PFldrID').innerHTML
      var NewFolderName = document.getElementById('newFdrNm').value
      if (NewFolderName == "") {
        alert("Folder Name Required!")
      } 
      else {
        google.script.run.CreatePropertyFolder(NewFolderName, ParentFolder);
        google.script.host.close();
      }
    }    

编辑:
删除表单标签后,对话框按要求工作。

对于警报,我决定在文本框下方显示错误消息。 修改部分代码:

*HTML*  
    <button onclick='makeFolder()' class="hiddenfrm">Create New Folder</button>
    <br><span id="newFdrNmError"></span>

*script*  
      if (NewFolderName == "") {
        document.getElementById('newFdrNmError').innerHTML = "Error:  You must 'name' the new folder!";
        return false;
      } 

window 中的 HTML 正在消失,因为 "Create New Folder" 按钮位于 <form> 标签内。据我所知,除了将按钮移到 <form> 标签之外,没有什么可以阻止这种情况的发生。

移动按钮:

<form>
  <label class="hiddenfrm"> Folder Name: </label><input type="text" id="newFdrNm" class="hiddenfrm">

  <p id='newresult' class="hiddenfrm"></p> 
</form> 

<button onclick='makeFolder()' class="hiddenfrm">Create New Folder</button>