0
votes

I can't close my popup window. I'm using this form: https://script.google.com/macros/s/AKfycbzcQLIRAeESGM4Y23s2tRSv4QNLcrUspF3cn5Lqo8bZP22znp8/exec

Inside this, there is two files: server.gs file code:

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('form.html');
}

function uploadFiles(form) {

try {

var d = new Date();
          var month = d.getMonth()+1;
          var day = d.getDate();
          var hour = d.getHours();
          var minute = d.getMinutes();
          var second = d.getSeconds();
          var datums = ((''+day).length<2 ? '0' : '') + day + '.' + 
          ((''+month).length<2 ? '0' : '') + month + '.' + d.getFullYear();

          var laiks = ((''+hour).length<2 ? '0' :'') + hour + ':' +
          ((''+minute).length<2 ? '0' :'') + minute; 

var folder, folders = DriveApp.getFoldersByName(datums);

if (folders.hasNext()) {
  folder = folders.next();
} else {
  folder = DriveApp.createFolder(datums);
}

var blob1 = form.myFile1;    
var file1 = folder.createFolder(form.myName);
var filename = file1.createFile(blob1);
filename.setDescription("Uploaded by " + form.myName);

var blob2 = form.myFile2;
var filename = file1.createFile(blob2);
filename.setDescription("Uploaded by " + form.myName);

var blob3 = form.myFile3;
var filename = file1.createFile(blob3);
filename.setDescription("Uploaded by " + form.myName);

var blob4 = form.myFile4;
var filename = file1.createFile(blob4);
filename.setDescription("Uploaded by " + form.myName);

return "Faili veiksmīgi pārsūtīti. Varat aizvērt šo logu.";
// Added

} catch (error) {

return error.toString();
}

}

function close() {
var app = UiApp.getActiveApplication();
app.close();
// The following line is REQUIRED for the widget to actually close.
return app;
}

And here is HTML file form.html code:

<form id="myForm">
<table>
  <tbody>
    <tr>
      <td><label>Ievadiet Jūsu vārdu</label></td>
      <td><input type="text" name="myName" placeholder="Jūsu vārds..."></td>
    </tr>
    <tr>
      <td><label>Tehniskās apliecības kopija</label></td>
      <td><input type="file" name="myFile1"></td>
    </tr>
    <tr>
      <td><label>Vadītāja apliecības kopija</label></td>
      <td><input type="file" name="myFile2"></td>
    </tr>
    <tr>
      <td><label>Saskaņotā paziņojuma kopija</label></td>
      <td><input type="file" name="myFile3"></td>
    </tr>
    <tr>
      <td><label>Cits dokuments</label></td>
      <td><input type="file" name="myFile4"></td>
    </tr>
  </tbody>
</table>

    <input type="submit" value="Upload File" 
           onclick="this.value='Uploading..';
                    google.script.run.withSuccessHandler(fileUploaded)
                    .uploadFiles(this.parentNode);
                    return false;">
</form>
<div id="output"></div>

<input type="button" value="Close" onclick="window.close()" />

<script>
    function fileUploaded(status) {
        document.getElementById('myForm').style.display = 'none';
        document.getElementById('output').innerHTML = status;
    }
</script>

<style>
 input { display:block; margin: 20px; }
</style>

The only thing that is not working is my "Close" button. :(

What I want to do is - just close this window. This window will appear as popup.

1

1 Answers

0
votes

Use Class google.script.host:

<input type="button" value="Close" onclick="google.script.host.close()" />