【发布时间】:2013-12-12 21:23:09
【问题描述】:
我在点击处理程序上禁用了一个按钮,奇怪的是,一旦按钮被禁用,之后它就不会被提交。 它因浏览器而异。 Firefox 在禁用提交按钮后允许提交表单,但 chrome 和 IE 阻止了它
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
</script>
<script>
$(function(){
$("#btn").on("click",function(){
$(this).prop('disabled','true');
alert('clicked');
});
$("#frm").on("submit",function(){
alert("submit1");
});
$("#frm").on("submit",function(){
alert("submit2");
});
})
</script>
</head>
<body>
<form id="frm" action="#">
<input type='submit' id="btn"/>
</form>
</body>
这是一个奇怪的行为,提交被禁用按钮被阻止。 可能的原因是什么。 我在 Chrome 和 IE 中得到的输出是 执行点击然后脚本关闭
为什么不按顺序 点击的执行 然后执行提交
【问题讨论】:
-
将 type="submit" 改为 type="button"
-
@Riturajratan:学习者似乎想要提交表单。
-
这不是关于将类型从 SUBMIT 更改为按钮而是关于“为什么会这样”这是我编写的一个简单案例,在我们的场景中,我们无法按照您的建议更改代码跨度>
-
我认为问题在于不同的浏览器遵循不同的执行周期/决定不同的事件发生和不同的时间。我认为合并您的逻辑以便在显式调用提交表单后禁用按钮应该可以解决这个问题。
标签: javascript jquery html forms button