我有一个带有几个按钮的表单,在提交表单时,我希望服务器端脚本能够读取所单击按钮的值。
// someButton is created and appended inside an HTML form element
someButton.name = "foo";
someButton.onclick = function() {
this.value = "bar";
}
// more code
document.querySelector("button[class='submit']").onclick = function() {
google.script.run.processForm(document.querySelector("form"));
}
在上面的代码中,someButton
引用的元素嵌套在form
中。此外,它应该非常清楚,但someButton
是一个任意button
,与.querySelector()
中的按钮不同。
当我继续使用如下代码从服务器端拆除表单对象时:
function processForm(form) {
for (var thing in form)
Logger.log(var + ": " + form[var]);
}
没有任何按钮可以在任何地方找到。为什么呢?
答案 0 :(得分:1)
按钮值未随表单一起提交。您可以将它作为第二个参数传递给processForm方法:
document.querySelector("button[class='submit']").onclick = function() {
google.script.run.processForm(document.querySelector("form"), document.getElementById("someButton").value);
}
function processForm(form, buttonvalue) {
Logger.log(buttonvalue);
}