Я пытаюсь создать HTML-шаблон в зависимости от содержимого электронной таблицы. Но с недели я застрял на отправке значений, возвращаемых функцией GS, в шаблон HTML. Когда я вызываю функцию, расположенную в html, я получаю ожидаемый результат. Но когда я вызываю ту же функцию, которая находится в файле gs.code, я получаю неопределенное значение. Что я делаю не так?
Это работает, но бесполезно:
HTML-файл:
<script>
function addOption() {
var x = document.getElementById("xBad");
var option = document.createElement("option");
option.text = newOpt();
x.add(option);
};
function newOpt() {
var str = "extra option";
return str;
}
</script>
Но когда я заменяю функцию, которая возвращает дополнительную опцию в файл gs, где именно она мне нужна, она добавляет undefined.
HTML-файл:
<script>
function addOption() {
var x = document.getElementById("xBad");
var option = document.createElement("option");
option.text = google.script.run.newOpt();
x.add(option);
}
</script>
GS файл:
function newOpt() {
var str = "extra option";
return str;
}
Полагаю, я прочитал всю документацию по API Google об этом и всех проблемах, связанных с моей, в stackoverflow, но, боюсь, не могу найти объяснение. Единственный ответ, который, как я понял, предполагает, что google.script.run не возвращает значений, пока в код не будет вставлен SuccessHandler, но я действительно не знаю, какое условие может быть успешным или неудачным в этом случае.