javascript - Html/javascript - 下拉选择不适用于提交按钮

标签 javascript html forms

我正在尝试使用下拉菜单和输入框,然后同时提交两者。 出于某种原因,它不是

function watchForm() {
  $('.decisions').on('click', function(event) {
    event.preventDefault;
    const state = $('.js-query-states').val();
    console.log(state)
  })
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class="decisions">

  <select class="states js-query-states">
    <option value="">Choose a state</option>
    <option value="AL">Alabama</option>
  </select><br><br>
  <label for="number">How many</label>
  <input type="input" name="number" id="number" value=5>
  <input type="submit" value="Submit">
</form>

最佳答案

这里有几个问题:

  • 你需要听表格 .submit()事件而不是 click()
  • 此外,您在 event.preventDefault 之后缺少括号 ()
  • 此外,事件处理程序似乎位于 watchForm() 函数内,但并未在任何地方调用。因此,您可以删除该函数并直接添加 .submit() 事件处理程序。

$('.decisions').submit(function(event) {
  event.preventDefault();
  const state = $('.js-query-states').val();
  console.log(state)

  const number = $('#number').val();
  console.log(number)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class="decisions">
  <select class="states js-query-states" required>
    <option value="">Choose a state</option>
    <option value="AL">Alabama</option>
  </select><br><br>
  <label for="number">How many</label>
  <input type="input" name="number" id="number" value=5>
  <input type="submit" value="Submit">
</form>

关于javascript - Html/javascript - 下拉选择不适用于提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61473212/

相关文章:

JavaScript:如何从自定义上下文菜单传递对象引用

javascript - Angularjs如何检测 Controller 中加载的所有内容,而内部很少有ajax调用?

html - 如何将子div设置为自动宽度父

javascript - 选中复选框时如何将选择值更改为特定值

javascript - 如果在数组中找不到任何输入值,则阻止表单提交

javascript - 如何将数组按顺序分组为子数组

javascript - 如何用 div id 替换 div 内的 <ul> ?

javascript - 如何从 XML 中选择一个随机子元素并显示子元素;使用JS?

iPhone HTML 问题 - 仅访问正文

forms - Angular 4 动态形式 patchvalue 数组