event.preventDefault()在一种情况下有效,但在其他情况下无效

时间:2018-12-18 06:22:46

标签: javascript jquery node.js express

我的页面上有两种形式,一种用于提交评论,另一种用于在投票中投票。这两个函数相距仅十几行,但是只有#comment-form的一个实际上阻止了默认设置。 #poll-form提交按钮刷新页面,这不是我想要的。

$("#comment-form").submit(function(event){
    event.preventDefault();
    addComment();
});

//ajax stuff for adding the comment, addComment() etc.

$("#poll-form").submit(function(event){
    event.preventDefault();
    castVote();
});

HTML如下:

<div class="add-comment">
  <form id="comment-form">
    <textarea id="comment-content" name="comment" placeholder="Leave a comment"></textarea>
    <br>
    <button type="submit">Submit</button>
  </form>
</div>

<div class="poll">
  <h1 class="title">Poll</h1>
  <h3>Poll Question</h3>
    <form id="poll-form">
      <input type="radio" name="vote" value="0">
      Choice 1
      <br>
      <input type="radio" name="vote" value="1">
      Choice 2
      <br>
      <input type="radio" name="vote" value="2"> 
      Choice 3
      <br>
      <input type="radio" name="vote" value="3">
      Choice 4
      <br>
      <button type="submit">Submit</button>
    </form>
</div>

我看不出有什么区别,也无法弄清楚为什么#poll-form提交不会阻止默认设置。

1 个答案:

答案 0 :(得分:-1)

您也可以尝试此操作以提交停止表单,

$("#poll-form").submit(function(e){
  e.preventDefault();
  alert('it works!');
  return  false;
});