javascript - 提交事件未触发

标签 javascript php jquery

我想在更改下拉菜单时提交表单并希望防止页面重新加载。

<script src="jquery-1.9.1.min.js"></script>
$(document).ready( function(){
  $('#adv_search').submit( function(e){
    alert('form submitted');
    e.preventDefault();
  });
});
<form id="adv_search" name="adv_search" method="post">
  <select name="state" id="state" onchange="document.adv_search.submit()">
    ------
  </select>
</form>

最佳答案

普通 JavaScript 的 submit() 将触发表单的自然提交过程,您无法使用 jquery 的 submit 绕过它。因此最好单独使用 jQuery 来完成此操作,

$(document).ready(function() {
  $("#state").change(function() {
    $('#adv_search').submit();
  });
  $('#adv_search').submit(function(e) {
    alert('form submitted');
    e.preventDefault();
  });
});

DEMO

关于javascript - 提交事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36386402/

相关文章:

javascript - 防止浏览器扩展注入(inject) Javascript 代码

javascript - Gnome 3 (Gnome Shell) JavaScript/CSS 引擎

jquery - 将字符串转换为 JSON 对象

jquery - 使用$.getScript获取包含json内容的跨域js文件好不好?

javascript - 通过jquery ajax检查图像是否存在?

javascript - svg.js 使用 View 框缩放点

javascript - 遍历 coffeescript : $(@). 快捷方式中的 jQuery DOM 元素

javascript - this.form.submit() onchange 和 select

javascript - 提交表单后,从帖子数组中动态附加的表行字段获取值有什么问题?

php - 从大于单页的动态创建的表格 (div) 创建多页 PDF