Передать параметры URL в HTML-форму Google Web App - PullRequest
1 голос
/ 08 ноября 2019

Я рассмотрел большинство связанных с этим вопросов и не нашел решения, которое помогло бы мне (я применил их один за другим). У меня есть HTML-форма, которую я публикую как веб-приложение через Google. Мне нужно предварительно заполнить поле ввода этим параметром.

code.gs

function doGet() {
return HtmlService
        .createTemplateFromFile('html')
        .evaluate();      
          }

html.html

<!DOCTYPE html>
<html>
<head>
</head>
<style>
</style>
<body>
<form>
  <h1><center>Verification</center></h1>
  Form ID:<input type="number" name="formid" id="formid" class="formid">
</form>
</body>
</html>

Как я уже говорил, я пробовал многопредложения в похожих вопросах, но не могу найти тот, который работает. Идентификатор в том, что я могу ввести свой URL +? Formid = и заполнить его во входных данных. Как я могу сделать так, как описано?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 08 ноября 2019
  • При доступе к веб-приложениям с URL-адресом url + ?formid=### в текстовое поле необходимо ввести значение ###.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких ответов.

Точка модификации:

  • В этой модификации я использовал google.script.url.getLocation() для получения параметра запроса.

Модифицированный скрипт:

Пожалуйста, измените html.html следующим образом.

<!DOCTYPE html>
<html>
<head>
</head>
<style>
</style>
<body>
<form>
  <h1><center>Verification</center></h1>
  Form ID:<input type="number" name="formid" id="formid" class="formid">
</form>
<script>
  google.script.url.getLocation(function(location) {
    document.getElementById("formid").value = location.parameters.formid[0];
  });
</script>
</body>
</html>

Ссылка:

Если я неправильно вас понялвопрос, и это было не то направление, которое вы хотите, я прошу прощения.

0 голосов
/ 08 ноября 2019

Использование Jquery:

<script>
$(function(){
  google.script.run
  .withSuccessHandler(function(v){
    $('#formid').val(v);
   })
   .getTheValueOfV();
});
</scrip>

С обычным JavaScript

<script>
window.onload=function(){
  google.script.run
  .withSuccessHandler(function(v){
     document.getElementById('formId').value=v;
   })
  .getTheValueOfV();
};
</script>

Code.gs:

function getTheValueOfV() {
  var ss=SpreadsheetApp.getActive();
  return ss.getRangeByName("TheRangeWhereYouFindtheValueofv").getValue();
}

Вы можете поместить скрипт в голову или вТело твой выбор. Если вы используете JQuery, вам нужно что-то подобное в голове.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
...