在页面完全呈现之前锁定所有提交按钮

com*_*tta 6 javascript jquery

我可以知道如何使用jquery锁定所有,<input type="submit/button" .. 并且只有在页面完全呈现时才允许提交?

Dou*_*ner 11

由于用例,我可能会采用不同的方法.而不是实际禁用按钮,我只是不允许提交操作工作,直到页面加载.这不需要对现有HTML进行任何更改,并且在禁用JS时,您的页面将不会变得无用:

<script>
   // Keep all submit buttons from working by returning false from onclick handlers
   $('input:submit').live('click', function () {
      return false;
   });

   // After everything loads, remove the the "live" restriction via "die"
   $(window).load(function(){
       $('input:submit').die();
   });
</script>
Run Code Online (Sandbox Code Playgroud)

更新:如果您希望此解决方案正常工作script,请忘记提及将此标记和标记加载到您的jQuery库中<head>.(感谢您提醒我Mike Sherov).

  • 但是,在页面完全呈现之前,这仍然依赖于jquery加载! (3认同)

Mik*_*rov 5

默认情况下,您的提交按钮将disabled属性设置为true:

<input type="submit" disabled="disabled" /> 
Run Code Online (Sandbox Code Playgroud)

然后,一旦页面加载,您可以执行以下操作:

$('input').removeAttr('disabled');
Run Code Online (Sandbox Code Playgroud)

  • 它实际上是禁用="禁用" (3认同)