提交后启用已禁用的表单按钮&浏览器后退按钮

时间:2016-10-15 11:51:40

标签: jquery forms submit form-submit

在表单提交期间使用“ button.prop ”禁用“提交”按钮。如果用户使用浏览器后退按钮导航回表单,则提交按钮将保持禁用状态。

如何重新启用它?

<script type="text/javascript">
$('#submit-form').validate();
$('#submit-form').on('submit', function (e) { 
    var button = $('#submit-btn'); 
    var c37=$('#c37').val(); 
    var c42=$('#c42').val(); 
    var c48=$('#c48').val(); 
    var c53=$('#c53').val(); 
    var c1=$('#c1').val(); 
    var c2=$('#c2').val(); 
    if(c37=="" || c42=="" || c42=="" || c48=="" || c53=="" || c1=="" ||c2==""){
            button.prop("disabled", false);
    } else {
            button.prop('disabled', true); 
    }
});
</script>

2 个答案:

答案 0 :(得分:0)

“如果所有字段都包含某些值,那么您的按钮将被禁用”这是真的 - 切换它们。

<script type="text/javascript">
    $('#submit-form').validate();
    $('#submit-form').on('submit', function (e) { 
        var button = $('#submit-btn'); 
        var c37=$('#c37').val(); 
        var c42=$('#c42').val(); 
        var c48=$('#c48').val(); 
        var c53=$('#c53').val(); 
        var c1=$('#c1').val(); 
        var c2=$('#c2').val(); 
        if(c37=="" || c42=="" || c42=="" || c48=="" || c53=="" || c1=="" ||c2==""){
      button.prop('disabled', true);   // switched places          

        } else {
      button.prop("disabled", false); 
        }
    });
    </script>

答案 1 :(得分:0)

这似乎是一个特定于浏览器的问题 - 经过测试,以下浏览器会自动重新启用提交按钮:

  • Microsoft Edge 20
  • Google Chrome 53
  • Opera 40
  • 移动谷歌浏览器(iOS)45

在结束之前,将以下代码添加到表单底部 'body'标签 - 至少为这些经过测试的浏览器解决了问题:

Mozilla Firefox 44

window.onunload = function(){};
$(document).ready(function(){
$('#submit-btn').prop('disabled', false);
});

Safari 9.1.3

移动版Safari(iOS 8.3)

移动版Firefox 5.3

Internet Explorer 11

window.onpageshow = function(event) {
if (event.persisted) {
window.location.reload() 
}
};