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

ボタンを無効にしているのと同じブロックで、submit()メソッドを使用してフォームを手動で送信します。

于 2012-11-27T21:01:01.563 に答える
0

onclick次のように、入力から属性を削除し、クリックイベントをバインドするだけで、これを管理するのがはるかに簡単になります$(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 に答える