Как насчет этой модификации?
Точки модификации:
google.script.run
работает при асинхронной обработке.Таким образом, в вашем сценарии getStartDate()
и success()
не выполняются из-за google.script.host.close()
. getStartDate()
на стороне GAS не возвращает значения.Итак, alert(msg)
показывает undefined
.
Когда вышеуказанные точки отражаются на вашем скрипте, он становится следующим:
Модифицированный скрипт:
HTML:
Пожалуйстаизмените Javascript следующим образом.
function success(msg) {
alert(JSON.stringify(msg)); // Modified
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(function(e) { // Modified
success(e);
google.script.host.close();
})
.getStartDate(obj);
};
GAS:
function getStartDate(obj){
Logger.log(obj)
return obj; // Modified
}
Примечание:
- Если вы хотите дать ключ к
Submit
, добавьте name
к <input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
. - Конечно, вы также можете переместить
google.script.host.close()
в success()
.
Ссылка:
Если это не то, что вы хотите, пожалуйста, сообщите мне.Я хотел бы изменить его.