代码之家  ›  专栏  ›  技术社区  ›  Husna

如何使用jquery动态传递id

  •  -1
  • Husna  · 技术社区  · 6 年前

    我在一个页面上有多个表单,所以同一个页面上的同一个id会发生冲突,这就是我想要动态传递id的原因,就像使用 this 形成当前形式。我想验证我现在这样写的所有表单

    $('form#test').on('submit', function(e) {}
    
    <form method="post" action="script.php" id="test" novalidate>
      //validation here
      <input type="submit" name="send" id="send" value="Send" />
    </form>
    

    这个表单id=“test”我想在js中传递当前id。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Rory McCrossan Hsm Sharique Hasan    6 年前

    你好像在努力解决复制品的问题 id 属性,这是不应该有的。就用普通的 class 在所有的表格上。如果你需要确定是哪种形式 submit 事件,获取它的子级 input 例如,元素,然后使用 this 关键字。试试这个:

    $('.example').on('submit', function(e) {  
      e.preventDefault();
      console.log(`You submitted the ${this.id} form!`);
    
      // validate the form here...
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <form class="example" method="post" action="script.php" id="foo" novalidate>
      <input type="submit" name="send" id="send" value="Send" />
    </form>
    
    <form class="example" method="post" action="script.php" id="bar" novalidate>
      <input type="submit" name="send" id="send" value="Send" />
    </form>
    
    <form class="example" method="post" action="script.php" id="fizz" novalidate>
      <input type="submit" name="send" id="send" value="Send" />
    </form>
    
    <form class="example" method="post" action="script.php" id="buzz" novalidate>
      <input type="submit" name="send" id="send" value="Send" />
    </form>