如何将事件侦听器放在具有不同名称的页面上的20个表单中

时间:2013-04-22 06:46:16

标签: javascript jquery

我的网页上有大约20个表格

<form id="post_comment_1" class="post_comment" action="cmt.php" method="post">

// form inputs

</form>

.......

<form id="post_comment_20" class="post_comment" action="cmt.php" method="post">

// form inputs

</form>

现在,我必须使用javascript跟踪表单提交。如果只有一个表格有id(post_comment),我可以像这样跟踪它

$("#post_comment").submit(function(event){

    // function statements    

});

但我不能这样做,因为我在一个页面上有大约20个表格。在每个表单提交事件监听器的有效方法是什么?

2 个答案:

答案 0 :(得分:4)

$('.post_comment').submit(function(evt) {})

答案 1 :(得分:1)

尝试attribute selector with ^这将选择以给定字符串开头的所有ID ..

 $("form[id^='post_comment'").submit(function(event){
      .....

或上课

$('.post_comment').submit(function(event) {
  .....  

类选择器比属性选择器更好更快..所以我会使用类选择器..(如果你可以在表单中添加一个类)

来自doc

  

attributeStartsWith选择器:但是它会比使用类选择器慢,所以如果可以的话,可以利用类来对类似的元素进行分组。