javascript - 没有定义点击事件的 Html 按钮仍然调用一个函数

标签 javascript html

我有 2 <buttons>在我的 html 代码中,其中一个有一个 onclick功能,但另一个只是我尚未定义的按钮。奇怪的是,尚未定义的按钮具有相同的 onclick属性(property)作为另一个。有人可以解释为什么会这样吗?

这是一个代码片段:

saveRuleSelections: function() {
  let blackjackRules = [];
  let rules = document.getElementsByClassName("rule");
  for (let i = 0; i < rules.length; i++) {
    blackjackRules.push(rules[i].value);
  }
  let jsonBlackjackRules = JSON.stringify(blackjackRules);
  localStorage.setItem("blackjackRules", jsonBlackjackRules);
  document.getElementById("rules_overlay").style.display = "none";
}
<form>
  <p>Surrender Allowed:
    <select class="rule">
      <option value="early">Early</option>
      <option value="late">Late</option>
      <option value="no" selected>No</option>
    </select>
  </p>
  <button id="select_rules_button" onclick="trueCountApp.saveRuleSelections()">Select Rules</button>
  <button>Restore Default</button>
</form>

最佳答案

两个表单都具有相同的提交值,因为它们在表单内部没有不同的值,现在两者都将采用相同的提交表单值并因此触发函数,就像一个克隆。尝试

<form>
  <p>Surrender Allowed:
    <select class="rule">
      <option value="early">Early</option>
      <option value="late">Late</option>
      <option value="no" selected>No</option>
    </select>
  </p>
  <button id="select_rules_button" onclick="trueCountApp.saveRuleSelections()">Select Rules</button>
  <button type="reset" value="Reset">Restore Default</button>
</form>

关于javascript - 没有定义点击事件的 Html 按钮仍然调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160247/

相关文章:

Javascript - 试图在动态属性中包含对象

javascript - 用于收集浏览器端性能信息的 JS 库(如 YSlow 或 FireBug "Net"?)

css - 具有固定位置的元素上的 Z 索引

html - 我怎样才能让我的背景图像移动一段时间,然后开始向后移动,然后重新开始?

php - 如何阻止 Tidy2 添加额外的 HTML 标签? ( Notepad++ )

javascript - Thymeleaf 表单使用 ArrayList 对象提交

javascript - 使用 jQuery Ajax 将数据从 MySQL 加载到 JavaScript Array of Array

javascript - 我需要相对于开启者定位 Bootstrap 模式(对话框)

javascript - 如何在 ES6 中柯里化(Currying)递归函数

javascript - Bootstrap 中每行有多个文本区域