У меня есть метка на моей HTML-странице, которая показывает количество возвращаемых значений. Я не могу прочитать или изменить это, когда он загружен? но локально я могу сделать это с помощью журнала консоли.
<p name= 'message' id='ftext' > This team have
<label id = "teams" > <?= teamSize ?> </label>
members. </p>
он возвращает null
для обоих этих идентификаторов тегов document.getElementById('team')
или document.getElementById('ftext')
, поэтому я не могу получить их внутренний текст или текстовое содержимое.
Я использую HtmlService.createTemplateFromFile(file).evaluate()
для рендеринга страницы.
вот ссылка на мой проект: Форма участия
Спасибо за помощь,
М
Вы сказали, что document.getElementById('team') не работает, но на самом деле вы назвали свой идентификатор «команды».
Если это исправление не работает, можете ли вы поделиться своим кодом?
Очень неприятно получать переменные между интерфейсом и сервером в GAS!
Что-то вроде этого:
google.script.run
.withSuccessHandler(finishedOutput)
.withFailureHandler(errorOutput)
.split(); // SPLIT IS THE GS SCRIPT THAT PASSES BACK THE NUMBER YOU WANT
а потом это
function finishedOutput(info) //INFO IS THE THING THAT GOT PASSED BACK BEFORE
{
var br='<br />';
var outputDiv = document.getElementById('status');
outputDiv.innerHTML = 'The spreadsheet has been split.' + br +'New files in this folder: ' + info.link + br ;
document.getElementById('process').style.display = "none";
};
В моем примере я возвращал объект с информационным ключом, но вы можете сделать это с числом или строкой, а не с объектом.
они оба находятся внутри на странице html, а затем функция «разделить» находится на Code.gs и является функцией GAS. Грязно, да?
Как я проверил, кажется, что из-за песочницы IFrame GAS невозможно получить доступ к элементам документов по идентификатору и т. д. Из браузера, но он работает внутри самого JavaScript страницы!
да, вы запускаете javascript в частях переднего плана, которые передаются значениями из газового бэкэнда. Чтобы получить доступ к серверной части GAS, вы делаете что-то вроде «Я собираюсь отредактировать свой комментарий выше, чтобы я мог отформатировать его как код».
На самом деле, я знаю о передаче элемента между интерфейсом и сервером в GAS. Моя проблема сначала заключалась в том, что я не знал, что не могу использовать консольный журнал на стороне клиента, чтобы получить свои элементы, как я их идентифицировал, что было из-за вещей с песочницей. но неважно, у меня все еще есть случаи, когда я не могу получить доступ к своим html-элементам по идентификатору внутри моего раздела java-скрипта на той же странице. Он работал на тестовой странице, которую я создал, но не работал в некоторых других местах. Это действительно сбивает с толку.
Нет, проблема не в синаксисе или опечатке. Я пробовал разные идентификаторы. Вот ссылка на мое приложение: script.google.com/macros/s/… Я также обновлю свой OP