在输入时提交jQuery禁用表单

时间:2015-02-13 09:25:20

标签: javascript jquery html forms

我有一个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
});

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

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

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

你知道设置class =&#34;禁用&#34;在按钮上,实际上没有禁用它,对吧? ; - )

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

<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); 
});

See JSFiddle here

答案 2 :(得分:0)

刚刚添加onsubmit="return false"并且有效。

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