点击后Javascript停用按钮,但表单未提交

时间:2017-05-02 20:56:11

标签: javascript jquery

我有一个代码可以在完美点击一下后禁用按钮,但问题是表单是否提交。如何在单击后禁用该按钮并仍然提交表单。

代码

<input id="submitbtn" name="submit" type="submit" value="Submit for Payment" />

<script type="text/javascript">
    $(function(){
        $('#submitbtn').one('click', function() {  
        $(this).attr('disabled','disabled');
        });
    });
</script>

4 个答案:

答案 0 :(得分:1)

试试这个:

$('form').submit(function() {
  $(this).find("button[type='submit']").prop('disabled',true);
});

答案 1 :(得分:0)

将onsubmit属性添加到表单并放置代码以禁用那里的按钮,因此您禁用了按钮但第一次提交已经发生:

<form onsubmit="myFunction();">

<script type="text/javascript">
    function myFunction(){
        $('#submitbtn').attr('disabled','disabled');
        // my submit code here
    }
</script>

答案 2 :(得分:0)

延迟按钮禁用代码,直到表单提交事件触发可能是您的最佳选择。你可以通过几种方式做到这一点。如果您只有一个要禁用的按钮,请向表单添加一个anti_join事件侦听器,并在回调中禁用它。另一个简单的方法是使用在0毫秒后运行的setTimeout。

anti_join(A,B,by=c("x","y"))
x y z
4 5 6

此外,如果您使用的是支持submit的jQuery版本,我建议您使用该版本代替setTimeout( () => $(this).attr('disabled','disabled') , 0); 。示例:.prop()

答案 3 :(得分:0)

&#13;
&#13;
$(function(){
  $('#submitbtn').on('click', function() {  
    $(this).prop('disabled', true);
    $("#formID").submit();
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="submitbtn" name="submit" type="submit" value="Submit for Payment" />
&#13;
&#13;
&#13;