У меня есть простая функция, которую я хочу вызвать, когда пользователь нажимает кнопку в модальном диалоговом окне. Тестирование это в моей личной электронной почте Gmail работает точно так, как ожидалось. Однако при использовании моего рабочего домена (например, email@work.com, где «work» - мой рабочий домен), я получаю ошибку консоли «uncaught».
Он не дает никаких подробных c подробностей и просто не работает. Диалоговое окно остается открытым, и функция не запускается. Он будет очень хорошо закрываться, если я нажму эту кнопку с помощью следующего скрипта, но когда нажата submit, он не вызовет внешнюю функцию. Любая идея, почему это будет происходить только в этом конкретном домене? Есть ли настройка, которую можно где-то изменить? Вот код:
//This function creates the html table that is displayed in the modal dialog box.
function makeTableHTML() {
//var officeSelection = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main_gen').getRange(2, 1).getValue();
var PartnerEmailList = ['test','test2','test3'];
var result = "<table border=0>";
result += "<tr><td style=\"text-align:center\"><input type=\"checkbox\" name =" + PartnerEmailList[0] + " value =" + PartnerEmailList[0] + " checked></input></td>";
result += "<td style=\"vertical-align:text-middle\">" + PartnerEmailList[0] + "</td></tr>";
for(var i=1; i<PartnerEmailList.length; i++) {
result += "<tr><td style=\"text-align:center\"><input type=\"checkbox\" unchecked></input></td>";
result += "<td style=\"vertical-align:text-middle\">" + PartnerEmailList[i] + "</td></tr>";
}
result += "</table>";
//result += "<input type=\"submit\" value=\"Submit\" class=\"action\" onclick=\"form_data()\">";
//result += "<input type=\"button\" value=\"Close\" onclick=\"google.script.host.close()\">";
const htmlTest = `
${result}
<input type="submit" value="Send" class="action" onClick="google.script.run.withSuccessHandler(() => google.script.host.close()).form_data()">
<input type="button" value="Close" onclick="google.script.host.close()">
`
return htmlTest;
}
function DisplayOptions(){
var ui = SpreadsheetApp.getUi();
var result = makeTableHTML();
var bccSend = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main_gen').getRange(2,2).getValue();
if(bccSend === ''){
//Call the HTML file and set the width and height
var html = HtmlService.createHtmlOutput(result)
.setWidth(450)
.setHeight(300);
//Display the dialog
var dialog = ui.showModalDialog(html, "Select the intended recipients of this briefing.");
}
}
function form_data(){
SpreadsheetApp.getUi().alert('Send Aborted.');
}