【问题标题】:Google Apps Script - Form inputs not submitting properlyGoogle Apps 脚本 - 表单输入未正确提交
【发布时间】:2020-09-15 02:16:45
【问题描述】:
<form id="colours" onsubmit="doSomething()">
  <label for="startcolour" style="font-family:arial">Start:</label>
  <input type="color" name="startcolour" id="startcolour" value="#123456"> &nbsp;
  <label for="endcolour" style="font-family:arial">End:</label>
  <input type="color" name="endcolour" id="endcolour" value="#abcdef"><br><br>
  <br>
  <input type="submit" value="Submit">
</form>

<script>
  var startcolour = document.getElementById("startcolour").value;
  var endcolour = document.getElementById("endcolour").value;

  function doSomething() {
    google.script.run.withFailureHandler(function(error) {
      console.log("error")
      console.log(error.message)
    }).withSuccessHandler(function(result) {
      console.log("done!")
    }).test(startcolour);
  }
</script>

我有一个 Google Apps Script HTML 边栏。这是 HTML 侧边栏的一些代码。当我输入一种颜色并按“提交”时,我希望它以 startcolour 的提交值作为输入来运行 test() 函数。但是,它使用默认值“#123456”运行,而不是用户提交的值。我该如何解决这个问题?

【问题讨论】:

  • 在函数内部移动 startcolourendcolour - 这样就可以正常工作了!!!!您不是在调用函数 doSomething 时检查值,而是在页面加载时检查值 - 这就是为什么它始终默认为 #123456

标签: javascript html google-apps-script


【解决方案1】:

问题是您从 doSomething 函数外部定义“startcolour”和“endcolour”变量,因此当调用该函数时,它使用页面加载时定义的值,而不是值您可以定义何时提交表单。

解决方案是在 doSomething 函数中定义变量“startcolour”和“endcolour”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 2016-09-19
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多