如何在表单对象中包含按钮的值?

时间:2017-02-27 10:56:43

标签: javascript forms google-apps-script

我有一个带有几个按钮的表单,在提交表单时,我希望服务器端脚本能够读取所单击按钮的值。

// 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]);
}

没有任何按钮可以在任何地方找到。为什么呢?

1 个答案:

答案 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);
}