javascript - 表单提交不起作用

标签 javascript jquery html

如果 checkBrowser 函数的结果是 old,我想使用 jQuery 提交一个表单。

<form action="xxx" method="post">
...
<input id="iop" type="submit">
...
</form>

jQuery:

$("#iop").mousedown(function(e){
    e.preventDefault();
    var status=checkBrowser();
    if(status=='old'){
        $("#iop").submit();
    }
});

我做了什么:

我调试了代码,它到达了 $("#iop").submit(); 行,但没有任何反应。有什么想法吗?

最佳答案

您需要使用 submit()<form>不是<input>元素。来自 docs :

The submit event is sent to an element when the user is attempting to submit a form. It can only be attached to elements

if(status=='old'){
    $("form").submit();
}

或使用 .closest() 更具体 以获得最接近的匹配 form向上遍历 DOM 树时提交按钮的元素:

if(status=='old'){
    $(this).closest('form').submit();
}    

关于javascript - 表单提交不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346072/

相关文章:

javascript - 如何在 Jquery Javascript 中使用嵌套 if else

javascript - 使用全部被拒绝的 Async 和 Promise 会导致异步永远无法完成

javascript - 每次用户调用其初始化时销毁旧的光滑轮播实例

php - 使用 jQuery AJAX 和 CodeIgniter 获取 500 内部服务器错误

php - 我想使用 AJAX 函数验证验证码

javascript - 当使用 AngularJS 登录后授权 header 不存在时,Spring Security 不会抛出错误

javascript - 将函数内部原型(prototype)分配给函数原型(prototype)对象

html - 如何将 div 标签制作成链接

javascript - 为现有元素添加点击叠加

c# - 使用 jquery 访问 Asp.net 动态下拉列表