Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面完全呈现之前锁定所有提交按钮_Javascript_Jquery - Fatal编程技术网

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

Javascript 在页面完全呈现之前锁定所有提交按钮,javascript,jquery,Javascript,Jquery,请问如何使用jquery锁定所有默认情况下,您的提交按钮的disabled属性设置为true: <input type="submit" disabled="disabled" /> $(文档).ready(函数(){ $(“#表单提交”).removeAttr('disabled'); }); jQuery $(document).ready(function(){ $(":button,:submit").removeAttr("disabled"); }); H

请问如何使用jquery锁定所有
默认情况下,您的提交按钮的disabled属性设置为true:

<input type="submit" disabled="disabled" /> 

$(文档).ready(函数(){
$(“#表单提交”).removeAttr('disabled');
});

jQuery

$(document).ready(function(){
  $(":button,:submit").removeAttr("disabled");  
});
HTML

<input type="button" id="button1" value="Button 1" disabled="disabled">
<input type="button" id="button2" value="Button 2" disabled="disabled">
<input type="button" id="button3" value="Button 3" disabled="disabled">
<input type="submit" id="submit" value="Submit" disabled="disabled">

由于用例的原因,我可能会以不同的方式处理它。我不会实际禁用按钮,而是在页面加载之前不允许提交操作工作。这不需要对现有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>

//通过从onclick处理程序返回false来阻止所有提交按钮工作
$('input:submit').live('click',函数(){
返回false;
});
//加载所有内容后,通过“模具”移除“活动”限制
$(窗口)。加载(函数(){
$('input:submit').die();
});

更新:如果您想让此解决方案正常工作,请忘记将此标签和
脚本
标签放在
中以加载jQuery库。(谢谢你提醒我迈克·谢洛夫)。

你不能做点类似的事情吗

window.onsubmit=function(){return false;}
window.onload=function(){window.onsubmit='';}

我不确定事件冒泡将如何与onsubmit一起工作。我得测试一下。另外,我不知道jquery,所以我不知道如何集成它。

它实际上是disabled=“disabled”编辑了答案以显示disabled=“disabled”-这是一个很好的答案。@Kai,不,这正是OP想要的,即在页面完全呈现后启用元素。@Marko,实际上,disabled将与任何值一起工作,甚至“false”!但是,正确的值仍然是“disabled”,所以在你的评论中+1。谢谢迈克,我通常就是这么做的。您可以忽略该属性的值:)但是,这仍然取决于在完全呈现页面之前jquery的加载!如果jQuery在您的应用程序中,它将在呈现页面之前加载。事实上,页面呈现将在加载时停止。那么,如果jQuery在头部,那么剩下的练习就没有用了。:)@迈克:剩下的练习怎么没用?在这个用例中,呈现一个禁用了所有控件的页面是个坏主意,除非应用程序强制用户启用JS。在中加载JS是避免将无用页面呈现给那些启用了w/o 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>
window.onsubmit=function(){return false;}
window.onload=function(){window.onsubmit='';}