от скрипта гугл до html - PullRequest
       0

от скрипта гугл до html

0 голосов
/ 22 января 2020

У меня есть функция в файле .gs:

function testReturn(){
 return "Finaly it works!";
}

и другая в файле html:

<script>
  window.addEventListener('load', function() {
    google.script.run.withSuccessHandler(createPost).testReturn();
  });

  /**/

  document.getElementById("go_button").addEventListener("click",functionGo);

  function functionGo(){

    var textToDisplay = google.script.run.testReturn();

    document.getElementById("input1_id").value = textToDisplay;   
  }

</script>

Возврат всегда "неопределенный". Как я могу взаимодействовать между gs и html script? (Конечно, я не только хочу вернуть целое число, проект состоит в том, чтобы написать длинный текст с множеством функций, я просто ищу способ получить результат и показать его на html).

Спасибо вам

1 Ответ

0 голосов
/ 23 января 2020

Вы не реализуете функцию createPost, которая является функцией обратного вызова (потому что вы установили ее в функции withSuccessHandler [1]), которая будет получать значение, возвращаемое в вашей функции testReturn из code.gs.

Для вашего html приведенный ниже код обновит введенное значение, как только страница загрузится. Это должно работать для вас, если у вас есть элемент ввода с идентификатором, установленным в 'input1_id':

<script>
  window.addEventListener('load', function() {
    google.script.run.withSuccessHandler(createPost).testReturn();
  });

  function createPost(returnedValue){
    document.getElementById("input1_id").value = returnedValue;   
  }
</script>

Если вы хотите обновить значение ввода после нажатия кнопки, вы можете использовать это вместо ( при условии, что у вас есть кнопка с идентификатором 'go_button' в качестве идентификатора):

<script>
  document.getElementById("go_button").addEventListener("click",functionGo);

  function functionGo(){
    google.script.run.withSuccessHandler(createPost).testReturn();
  }

  function createPost(returnedValue){
    document.getElementById("input1_id").value = returnedValue;   
  }

</script>

По сути, вызов функции скрипта приложений (code.gs) из html с google.script.run [2] не будет напрямую верните вам значение, но вам придется управлять ответом с помощью функции обратного вызова, установленной в одной или нескольких функциях-обработчиках [1] (например, withSuccessHandler в этом примере).

[1] https://developers.google.com/apps-script/guides/html/communication#success_handlers

[2] https://developers.google.com/apps-script/guides/html/reference/run

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...