代码之家  ›  专栏  ›  技术社区  ›  Jack Maessen

在处理程序上使用时如何获取输入类型

  •  0
  • Jack Maessen  · 技术社区  · 6 月前

    我有一个这样的表格:

    <form name="filter">
    
      <input type='number'>
      <input type="text">
      <input type="range">
    
    </form>
    

    我想得到我使用的输入类型,但我没有成功

    $(document).on('input', 'form[name="filter"]', function () { 
         alert(this.type); // alerts undefined
    });
    

    根据我使用的输入,我希望有一个类似于:数字、文本或范围的警报,但我得到了“未定义” 我做错了什么?

    3 回复  |  直到 6 月前
        1
  •  1
  •   Abhay Dedkawala    6 月前

    您需要添加参数&像这样使用 input 类型。

    $(document).on('input', 'form[name=filter]', function(input) {
      console.log(input.target.type)
    });
    <form name="filter">
      <input type='number'>
      <input type="text">
      <input type="range">
    </form>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
        2
  •  1
  •   Rojith.P    6 月前

    或者,您可以通过从函数中获取事件参数来使用它

      $(document).on("input", 'form[name="filter"]', function (event) {
           console.log(event.target.type);
      });
    
        3
  •  1
  •   matveykrivko    6 月前
    $(document).on('input', 'form[name="filter"] input', function (event) {
        alert(event.target.type);
    });