jQuery禁用表单在输入时提交

jQuery disabled form is submitted on enter

本文关键字:输入 提交 表单 jQuery      更新时间:2023-10-23

我有一个jQuery表单,在初始化jQuery之前,我将禁用表单的提交。

代码看起来像这个

<form id="loginForm" role="form" class="form-horizontal col-md-8" action="">
   <input type="email"/>
   <input type="password"/>
   <input type="submit" class="disabled">
</form>

(代码有点简化了。)通知类"禁用"

在jQuery方面,我正在做这个

$().ready(function() {
    $("#loginBtn").removeClass("disabled"); // This ensures that javascript was loaded before button is pushable
});

问题是当页面加载时,按钮被禁用,用户不允许点击它。但当按钮被禁用时,用户填写表单并按下回车键。正在提交表单。

我想(通过任何方式)暂停提交表单,直到jQuery被正确加载。

我怎样才能做到这一点?

你知道在按钮上设置class="disabled"实际上并不会禁用它,对吧?;-)

我认为你需要这样的东西:

<form id="loginForm" role="form" class="form-horizontal col-md-8" action="">
   <input type="email"/>
   <input type="password"/>
   <input type="submit" disabled>
</form>
$(function() {
    $("#loginForm input[type=submit]").attr("disabled", null); 
});

请参阅此处的JSFiddle

试试这个:修改您的登录表单提交按钮如下

$("#loginForm").submit(function() {
   if($("#loginBtn").hasClass("disabled")) return false;
   //rest of your code as it is
      .....
}

注意-根据您的html,提交按钮没有id="loginBtn",请添加它。

刚刚添加了onsubmit="return false",它成功了。

<form id="loginForm" role="form" class="form-horizontal col-md-8" action="" onsubmit="return false">