如何在谷歌脚本中获得所选选项



我想访问Google Script中所选选项的值。

我得到了这个HTML表单。有一个选项。

<form id="invoice" _lpchecked="1">
<label for="company">company:</label><br>
<input type="text" id="company" name="company" value=""><br>
<br>
<label for="user">created:</label>
<select id="user">
<option value="Radek">Radek</option>
<option value="Lucka">Lucka</option>
</select>         
<input type="submit" value="send" onclick="event.preventDefault(); sendForm(this);">
</form>

表单被发送到Google Script

function sendForm(theForm){
//var invoice = document.getElementById("invoice");
//invoice.user = document.getElementById("user").value;

google.script.run.withSuccessHandler(formSent)
.processForm(document.getElementById("invoice"));
}

然后在GAS中,我可以访问表单数据。通过记录表单数据,我发现该选项没有密钥。在form对象中有正确的值,但有一个空键。可以帮助获得GAS中的选择选项吗?我试图将user键添加到表单数据中,但没有成功。

function processForm(form){
var result = "OK";
var data = [(new Date()).toLocaleString("cs-CZ"),
form.company,
form.user]
for (var key in form) {
Logger.log('the key is: ' + key);
Logger.log('the value is: ' + form[key]);
};
saveInvoiceData(data); // saves data to Google Sheets
return result;
}

有没有一种方法可以在IDE中使用断点进行调试?

我认为问题的原因是<select id="user">没有使用name属性。所以请修改如下。

发件人:

<select id="user">

收件人:

<select id="user" name="user">

注:

  • 当您将脚本用作Web应用程序时,当脚本被修改时,请将Web应用程序重新部署为新版本。这样,最新的脚本就会反映到Web应用程序中。请小心。

  • 关于这种情况下的调试,不幸的是,在这种情况下,我认为不能直接使用脚本编辑器中的调试。例如,使用以下脚本如何?

    function processForm(form){
    SpreadsheetApp.openById("###").appendRow([JSON.stringify(form)]);
    return "ok";
    }
    
    • 使用此脚本,在提交表单时,可以确认form的值。由此可以发现,使用电子表格,您当前的脚本返回的对象{"":"###","company":"###"}没有键

相关内容

  • 没有找到相关文章

最新更新