Я создаю сайт Google, на котором отображается раскрывающийся список на основе данных, поступающих из таблицы Google. Оно работает.
В качестве следующего шага я хочу, чтобы, когда пользователь выбирает раскрывающийся список из списка, выбранное значение записывается в ячейку Google Sheet (в приведенном ниже примере выбранное значение будет записано в Sheet : «Панель мониторинга», ячейка: B92).
Например, предположим, что раскрывающийся список содержит следующие значения, взятые из Листа: «Элемент 1», «Элемент 2», «Элемент 3».
Когда пользователь выбирает «Элемент 1» на веб-сайте, сценарий должен записать «Элемент 1» в ячейке таблицы Google B92. Точно так же, если пользователь выберет «Элемент 2», сценарий установит «Элемент 2» в ячейку B92.
Я пробовал использовать приведенный ниже код, но думаю, что что-то не так:
- получить в файле HTML
- doPost (e) , потому что я не уверен, как передать параметр
(Я удалил весь код, чтобы сосредоточиться на неправильных частях. При необходимости могу добавить его обратно)
</p>
<pre><code>function doPost(e) {
var ss=SpreadsheetApp.openById('XXXXXXXX');
var sh=ss.getSheetByName('Dashboard');
sh.getRange(92,2).setValues(e.parameter);
}
HTML файл:
<script type="text/javascript">
var lastIndex = "";
const url = "https://script.google.com/a/google.com/macros/s/AKfycbxHX7cthji076OrqfY9ZpGa7jNDxKHUMf_ib7Ekmoo0Ir5DQF1Y/exec";
function listQ(){
var e = document.getElementById("sel1");
if(e.selectedIndex > 0){
lastIndex = e.selectedIndex;
console.log(lastIndex);
fetch(url, {
method: "POST"
, body: lastIndex
}).then(function (response) {
return response.json()
}).then(function (data) {
console.log(data);
})
}
}
document.getElementById("sel1").addEventListener("click",listQ);
</code>