Google Apps Script: отправьте форму + сохраните содержимое окна + заставьте браузер сделать предложение для сохранения имени / пароля - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь отправить форму HTML, в то время как сохраняет содержимое отображаемой страницы на экране и запускает браузер , чтобы предложить сохранить имя пользователя и пароль .

<div id="signInForm" class="init">
  <form> 
    <input id="username" type="text" placeholder="Username">
    <br><br>
    <input id="password" type="password" placeholder="Password">
    <br><br>
    <button type="submit">Sign in</button>  
  </form>  
</div>  

Я обнаружил, что хранение контента может осуществляться различными способами: preventDefault(), onsubmit="return false", action="javascript:".

Я успешно выполнил работу каждого изих.Но каждый из них не позволяет браузеру (Chrome и Edge) сохранить имя пользователя и пароль.Пока я узнал, HTML-форма имеет стандартное поведение при отправке, которое ведет к ссылке на отправку.Моя теория заключается в том, что само «навигационное событие» вызывает предложение сохранить имя пользователя и пароль.Если я прав, то единственный способ достичь своей цели, вероятно, основан на том, чтобы отправка происходила по умолчанию, а браузер каким-то образом сохранял содержимое.

Но все, что я когда-либо получал после нажатия <button type="submit">Sign in</button>пустая страница.

Возможно ли даже преодолеть это просто в скрипте приложений?Или я что-то упустил?

Я пытался программно перезагрузить страницу, но не смог этого сделать.Я не знаю, как работать с reload().

Я пробовал это:

<!DOCTYPE html>
<html>

  <body>
    <div id="x">I´m ORIGINAL page</div>
    <button onclick="document.getElementById('x').innerHTML= 'I´m EDITED page';">edit page</button>
    <br>
    <button onclick="myFunction()">Reload page</button>
  </body>
  
  <script>
    function myFunction() {
      window.location.reload(true);
    }
  </script>
  
</html>

Приведенный выше фрагмент кода работает для меня в редакторе фрагментов Stackoverflow, но не работает в моем опубликованном веб-приложении GAS.

EDIT Вероятно, близко к решению моей проблемы ответ в этом посте: Перенаправление из doPost () в Google Web App, HTML-форма со скриптом приложения , где автор предлагает это:

<form method="post" action="<?!= ScriptApp.getService().getUrl() ?>">
<input type="submit" value="submit">
</form>

Но это ничего не делает для меня при копировании и вставке, и я не знаю, как реализовать это любым другим способом.Это выглядит вообще ...

...