Функции, перечисленные ниже, работают правильно, когда я отправляю контент обратно на сервер через google.script.run, однако он не работает для моих коллег в том же файле. Эти коллеги находятся в одном домене и имеют доступ к редактированию электронной таблицы и могут загрузить первую часть функции, черновой набросок, из созданного мной шаблона (html, показанный ниже).
Наш опыт, кажется, расходится, когда они нажимают кнопку «Отправить» - их клиент должен звонить google.script.run.userSubmissions
. Однако в представлении внутренних исполнений я не получаю никаких указаний на то, что их клиентский сценарий правильно вызывает функцию userSubmission
- как показано ниже, я ожидаю, что она будет отображаться вверху, позиция 3 - это когда я выполняю то же самое действие, и мой клиент назвал google.script.run, как и ожидалось. Кроме того, я не вижу никаких сообщений об ошибках любого типа.
Полный html, представленный в плавающем модальном окне:
- Примечание: у меня в вызове функции печатаются 3 скриптлета, и я убедился, что они работают правильно в моих коллегах-клиентах
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Provide Comment</title>
</head>
<body>
<h3>Provide comment for content item #</h3>
<div>
<span>Title</span>
<p>Content</p>
</div>
<div>
<label style="display: block;" for="commentInput">Comment:</label>
<textarea
id="userComment"
style="display: block; margin: 1em 0 1em 0; width: 99%;"
name="commentInput"
rows="10"
placeholder="Please provide your comment here..."
></textarea>
<button style="float: right;" onclick="submitComment()">
Submit
</button>
</div>
<script>
function submitComment() {
let comment = document.getElementById("userComment").value;
google.script.run
.withSuccessHandler(closeModal)
.withFailureHandler(onFailure)
.userSubmission(
comment,
"comment",
parseInt(<?= contentIDColumn; ?>),
parseInt(<?= eventContentID; ?>),
parseInt(<?= statusColumn; ?>)
);
function closeModal() {
google.script.host.close();
}
function onFailure(error) {
console.log(error);
let message = "There was an error processing that form. Perhaps try again?"
document.getElementById("errorMessage").textContent = message;
}
}
</script>
</body>
</html>