0

我试图在单击按钮后禁用它,以便无法双击它。

这就是我所拥有的:

<input id="btn" type="button" disabled="disabled" value="Log On" onclick="logonDisableSubmitButtons()"/>

还有我的 javascript:

function logonDisableSubmitButtons(clickedButton) {

    $("input[type='button']").each(function() {
      if (this.name != clickedButton)
        $(this).attr("disabled", "disabled");
      else {
        //hiding the actually clicked button
        $(this).hide();
        //Creating dummy button to same like clicked button
        $(this).after('<input type="button" disabled="disabled" value="' + $(this).val() + '" class="' + $(this).attr('class') + '" />');
      }
    });

  }

该按钮禁用,但它不提交表单。

单击后如何禁用它然后提交表单?

4

3 回答 3

1

使用submit输入而不是button输入:

<input id="btn" type="submit" disabled="disabled" value="Log On" onclick="logonDisableSubmitButtons()"/>
于 2012-11-27T21:02:01.307 回答
0

onclick通过从输入中删除属性并简单地将 click 事件绑定到 上,您可以更轻松地管理它$(document).ready();,如下所示:

    <form id="myForm">
        <input type="submit" id="myInput" value="click me"/> <br />
        <input type="button" class="someClass" value="random button 1" />
        <input type="button" class="someClass" value="random button 2" />
        <input type="button" class="someClass" value="random button 3" />
        <input type="button" class="someClass" value="random button 4" />
    </form>

<script type="text/javascript">
$(document).ready(function(){
    $('#myInput').click(function(e){  
        e.preventDefault(); //<--this prevents the form from being submitted on click.        
        logonDisableSubmitButtons(this);
    });
});
function logonDisableSubmitButtons(clickedButton) {
    $(clickedButton).attr("disabled", "disabled");
    $("input[type='button']").each(function(i, input) {
            $(input).hide();
            $(this).after(
                '<input type="button" disabled="disabled" value="' + 
                $(this).val() + " from logonDisableSubmitButtons() method" +
                '" class="' +
                $(this).attr('class') + '" />'
            );
    });
    $("#myForm").submit(); //<--this will submit the form
}​
    </script>

这是关于 jsFiddle 的一个工作示例。

于 2012-11-27T21:22:14.123 回答
0

在禁用按钮的同一块中使用 submit() 方法手动提交表单。

于 2012-11-27T21:01:01.563 回答