Javascript 单击“问题”后禁用按钮

Javascript 单击“问题”后禁用按钮,javascript,jquery,Javascript,Jquery,我的登录页面中有一个提交按钮。单击一次后,我想禁用提交按钮。我可以使用this.disabled=true查询,禁用按钮后进入下一页。问题是,当我按下后退按钮时,它仍然是禁用的,因为页面不是从服务器重新加载的,而是从本地缓存加载的。我想在每次返回登录页面时启用该按钮。我可以清除缓存,但存在一些问题,例如它是否将从服务器加载,项目将变慢。最好的方法是什么 <script> $(document).ready(function(){ $(document).on('click',

我的登录页面中有一个提交按钮。单击一次后,我想禁用提交按钮。我可以使用
this.disabled=true查询,禁用按钮后进入下一页。问题是,当我按下后退按钮时,它仍然是禁用的,因为页面不是从服务器重新加载的,而是从本地缓存加载的。我想在每次返回登录页面时启用该按钮。我可以清除缓存,但存在一些问题,例如它是否将从服务器加载,项目将变慢。最好的方法是什么

<script>
$(document).ready(function(){
    $(document).on('click','button',function(){
        this.disabled = true
        window.location="https://www.google.co.in/"
    })
})
</script>
<body>
<button type="submit" id="button">Click Me!</button> 
</body>

$(文档).ready(函数(){
$(文档)。在('单击','按钮',函数()上){
this.disabled=true
window.location=”https://www.google.co.in/"
})
})
点击我!

您需要另一个事件来确保在页面加载时启用按钮。有点像:

<script>
$(document).ready(function(){
    $("#button").disabled = false;
    $(document).on('click','button',function(){
        this.disabled = true
        window.location="https://www.google.co.in/"
    })
})
</script>
<body>
<button type="submit" id="button">Click Me!</button> 
</body>

$(文档).ready(函数(){
$(“#按钮”).disabled=false;
$(文档)。在('单击','按钮',函数()上){
this.disabled=true
window.location=”https://www.google.co.in/"
})
})
点击我!

我没有尝试运行此功能,因此我不确定语法是否为100%,但它应该给您提供正确的想法。

我在正文html中将按钮初始禁用属性设置为禁用,以证明代码确实再次启用了它(因此您可以在正文中删除该属性) 我希望这有助于:

<script>
$(document).ready(function () {
$("#button").removeAttr('disabled');
$("#button").click(function(){
        $(this).attr('disabled','disabled');
        window.location="https://www.google.co.in/"
    });
});
</script>
<body>
<button type="submit" id="button" disabled="disabled">Click Me!</button> 
</body>

$(文档).ready(函数(){
$(“#按钮”).removeAttr('disabled');
$(“#按钮”)。单击(函数(){
$(this.attr('disabled','disabled');
window.location=”https://www.google.co.in/"
});
});
点击我!

如果它转到另一个页面,为什么需要禁用它?@Sergio——可能是为了避免多次提交表单或类似的情况。@sbeliv01,是的,可能。只是想更好地理解OP的想法。@Sergio这里我的示例很简单,因此您可以感觉到它不是必需的,但对于表单提交或ajax POST,它是必需的,否则它将发送多个请求。您是否从ajax调用获取url?您不能在ajax的响应功能上启用它吗?这将禁用该按钮,然后单击enable.No。在onclick侦听器中,disable设置为true。呈现页面后调用Document.ready()。此代码在页面呈现后启用按钮。当然,我不确定从缓存加载时是否会调用.ready()。dude您应该仔细阅读问题。按钮启用将在触发$(“#按钮”)时起作用。disabled=false;单击“上一步”按钮不会触发任何查询,它将从缓存返回页面。我确实仔细阅读了它。我假设web浏览器在从缓存呈现页面后会调用.ready()。不过我可能弄错了。但在渲染时应该会触发一个事件。总有一件事。