谷歌脚本 - 提交前需要输入字符串

时间:2017-06-04 20:26:23

标签: javascript jquery html google-apps-script

我使用基于html和javascript的小脚本来使第三方能够将文件上传到我的驱动器。他们应该命名文件,以便我以后可以识别它。不幸的是,许多人忘了这样做。在提交之前强制输入myName需要进行哪些更改?

html代码

<form id="myForm">
<input type="text" name="myName" placeholder="name of the file..">
<input type="file" name="myFile">
<input type="submit" value="Abschicken" 
onclick="this.value='Please wait..';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(this.parentNode);
return false;">
</form>
<div id="output"></div>
<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>
<style>
input { display:block; margin: 20px; }
</style>

google script

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('form.html');
}
function uploadFiles(form) {
    try {
      var dropbox = "Fotos";
    var folder, folders = DriveApp.getFoldersByName(dropbox);
     if (folders.hasNext()) {
      folder = folders.next();
    } else {
      folder = DriveApp.createFolder(dropbox);
    }
    var blob = form.myFile;    
    var file = folder.createFile(blob);    
    file.setDescription("Projekt: " + form.myName);
    file.setName("FOTO_" + form.myName);
    return "Upload completed.";
    } catch (error) {
    return error.toString();
  }
}

1 个答案:

答案 0 :(得分:0)

您可以在表单中添加必需的属性。

<input type="text" required name="myName" placeholder="name of the file..">

这将导致浏览器在提交表单之前检查是否输入了值。如果该字段为空,则浏览器将显示错误并且无法提交表单。

用户仍然可以删除所需的属性,但由于您无法访问服务器端,因此这是您可以做的最佳选择。