首页 > 解决方案 > 如何使用jquery动态传递id

问题描述

我在一个页面上有多个表单。所以同一页面上的相同 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。

标签: javascriptjquery

解决方案


似乎您正在尝试解决id您不应该拥有的重复属性的问题。class只需在所有表格上使用一个通用的。如果您需要确定哪个表单引发了事件,例如,获取submit其子元素,则使用关键字。尝试这个:inputthis

$('.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>


推荐阅读