【问题标题】:Stop Picker from closing after coming to end of HTML在 HTML 结束后阻止 Picker 关闭
【发布时间】:2016-04-27 05:01:07
【问题描述】:

我按下按钮/图像来运行打开选择器的脚本。我可以选择一个现有文件夹,并添加了一个字段来创建一个新文件夹(在选定的现有文件夹内)。

所有这些都按我的意愿工作,但我添加了一些错误处理,以防按下创建新文件夹的按钮而没有给出文件夹名称。我将消息放入警报中(可能需要修改它,因为它提供了“阻止此页面显示其他对话”的选项)但是一旦警报消失,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;
      } 

【问题讨论】:

    标签: html google-apps-script google-picker


    【解决方案1】:

    窗口中的 HTML 正在消失,因为“创建新文件夹”按钮位于 &lt;form&gt; 标记内。除了将按钮移到 &lt;form&gt; 标记之外,据我所知,没有什么可以阻止这种情况的发生。

    移动按钮:

    <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>
    

    【讨论】:

    • 非常感谢桑迪。我决定完全摆脱表单标签。我在浏览网站以寻求解决方案时阅读了您的许多帖子,非常感谢您的贡献!
    • 不错的选择。 &lt;form&gt; 标记根本不需要。 &lt;form&gt; 标签、提交按钮、action 属性和required 属性旨在在表单提交系统中协同工作,但不幸的是,它并不总是满足开发人员的需求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多