Javascript 页面仍在使用event.preventDefault()重新加载;

Javascript 页面仍在使用event.preventDefault()重新加载;,javascript,jquery,Javascript,Jquery,如果选择下拉菜单的值为NULL,则应停止加载页面。jQuery可以提醒用户这个问题,但是页面仍然会继续到下一页。任何援助都将是极好的。谢谢 卢克 好的,因为您有两个单击处理程序,所以事件将被处理两次。您试图阻止的“默认值”不是onClick=location.href='first-test.html'。这是在jQuery单击函数之后处理的。所以我们从html中去掉onClick。并将功能添加到jqueryclick事件中,我们可以采用任何一种方式,但由于您已经设置了大部分代码,因此我们将采用这

如果选择下拉菜单的值为NULL,则应停止加载页面。jQuery可以提醒用户这个问题,但是页面仍然会继续到下一页。任何援助都将是极好的。谢谢

卢克


好的,因为您有两个单击处理程序,所以事件将被处理两次。您试图阻止的“默认值”不是onClick=location.href='first-test.html'。这是在jQuery单击函数之后处理的。所以我们从html中去掉onClick。并将功能添加到jqueryclick事件中,我们可以采用任何一种方式,但由于您已经设置了大部分代码,因此我们将采用这种方式

以下是重新编写的代码:

<fieldset class="form-group">
  <label for="question-1">1. What age group are you?</label> <br>
   <select class="drop-down" id = "ageChoice">
    <option value="">Please Select</option>
    <option value="16minus">16 or below</option>
    <option value="16-18">16 to 18</option>
    <option value="19-25">19 to 25</option>
    <option value="26-34">26 to 34</option>
    <option value="35-42">35 to 42</option>
    <option value="43-50">43 to 50</option>
    <option value="51-60">51 to 60</option>
    <option value="61plus">61+</option>
  </select>  
</fieldset>

  <input class="btn btn-primary" type="button" id= "next" value="Next">

检查控制台,应该有一个关于未定义事件的错误。添加它作为回调函数的参数。您好,谢谢您的回复,抱歉,我是jQuery新手,您的意思是:如果是这样,这似乎不起作用。再次感谢您的回复。非常感谢,它很有效!我已经做了好几个小时了。我想这是一种更有效的编写代码的方法,可以将href从html中删除,然后将其放入jQuery?好吧,这完全取决于您尝试执行的操作,'onclick=…'和$。在'click',func基本上也在做同样的事情。避免让两个单独的观察者观看同一事件。
<fieldset class="form-group">
  <label for="question-1">1. What age group are you?</label> <br>
   <select class="drop-down" id = "ageChoice">
    <option value="">Please Select</option>
    <option value="16minus">16 or below</option>
    <option value="16-18">16 to 18</option>
    <option value="19-25">19 to 25</option>
    <option value="26-34">26 to 34</option>
    <option value="35-42">35 to 42</option>
    <option value="43-50">43 to 50</option>
    <option value="51-60">51 to 60</option>
    <option value="61plus">61+</option>
  </select>  
</fieldset>

  <input class="btn btn-primary" type="button" id= "next" value="Next">
$("#next").on('click', function (event) {

    var age = $('#ageChoice');

    if (age.val() === '') {
      alert("Please select your age group, thank you.");
    } else {
      location.href='first-test.html'
    }
});