Я пытаюсь создать всплывающее окно html, которое затем заполнит таблицу. Я в основном использовал то же решение, найденное здесь . По какой-то странной причине это не работает. Когда я нажимаю кнопку отправки во всплывающем окне HTML после заполнения всех данных, он не отвечает. Я нажимаю, он не закрывается, не добавляет данные или что-то делает.
Всплывающее окно html создано, но кнопка Отправить не работает. Я почти уверен, что это как-то связано с методом onClick, который я использую.
Вот код, с которым я работаю:
gs file
function registerCustomer() {
var html = HtmlService.createHtmlOutputFromFile('customerMenu.html').setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi()
.showModalDialog(html, 'Add Customer');
}
function customerAdd(customerForm) {
var ss = SpreadsheetApp.getActiveSpreadsheet;
var cus_db = ss.getSheetByName("customer_db");
cus_db.appendRow([" ", customerForm.name_1, customerForm.name_2, customerForm.phone, customerForm.age, customerForm.channel]);
return true;
}
html file
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
</head>
<br>
<customerForm>
First Name:<br>
<input type="text" name="name_1">
<br>
Second Name:<br>
<input type="text" name="name_2">
<br>
Phone Number:<br>
<input type="text" name="phone">
<br>
Age:<br>
<input type="number" name="age">
<br>
How did they hear about us?:<br>
<input type="text" name="channel">
<br><br>
<input type="submit" value="Add Customer" class ="submit"
onclick="google.script.run
.withSuccessHandler(google.script.host.close)
.customerAdd(this.parentNode)" />
</customerForm>
</html>
Я просмотрел переполнение стека почти для каждого решения:
Я запускаю два всплывающих окна, поэтому я изменил имена функций, основываясь на совете здесь
Я пытался использовать метод '' 'document.forms [0]' '', найденный здесь также не работал
Чего мне не хватает?