13

jqueryを使用して送信ボタンを無効にし、読み込み中の画像を読み込みますが、

送信ボタンでは、次を使用しています:

<div id="registerbtn" name="registerbtn">
<input type="submit" class="btn btn-primary" icon="ok white" value="Register" id="register" name="register"/>
</div>
<div class="span4" style="display:none;" id="loadingtext">
                            <?php echo  $imghtml=CHtml::image('images/loading.gif');?>                      
                        </div>

JQueryでは、次のコードを使用しています:

$(document).ready(function() {

    $('#register').click(function() {
        $('input[type="submit"]').attr('disabled','disabled');

     });
        $("#loadingtext").show();
    });
});

これを行うと、このボタンは永久に無効になりますが、削除したい場合はどうすればよいですか??

4

5 に答える 5

16

.prop()メソッドを使用し、を使用$(this)してコールバック関数内のターゲット要素を参照します

jQuery(function($) {

  const $register = $("#register"),
        $loading = $("#loading");

  $register.on("click", function() {
  
    $(this).prop('disabled', true);
    $loading.show();
    
    setTimeout(function() {
      $register.prop('disabled', false);
      $loading.hide();
    }, 2000);

  });

});
<input id="register" value="Register" type="submit">
<div id="loading" style="display:none;">Wait 2 sec...</div>


<script src="//code.jquery.com/jquery-3.1.0.js"></script>

于 2013-01-05T10:32:39.303 に答える
10

これはjQuery FAQで回答されています

フォーム要素を無効/有効にするにはどうすればよいですか?
フォーム要素を無効/有効にする方法は 2 つあります。

'disabled' 属性を true または false に設定します。

 // Disable #x
 $('#x').attr('disabled', true);
 // Enable #x
 $('#x').attr('disabled', false);

「無効」属性を追加または削除します。

 // Disable #x
 $("#x").attr('disabled', 'disabled');
 // Enable #x
 $("#x").removeAttr('disabled');

更新:(FAQで述べたように)それを行う方法は次のとおりです。

// Disable #x
$( "#x" ).prop( "disabled", true );

// Enable #x
$( "#x" ).prop( "disabled", false );
于 2013-01-05T10:21:36.873 に答える
0

ボタンを完全に削除するには

$('#register').remove();

ボタンを復元するには

$('#register').attr('disabled',false);
于 2013-01-05T10:22:22.653 に答える
0

$('#divID').remove();お探しのものはありますか?

http://docs.jquery.com/Manipulation/remove

于 2013-01-05T10:22:46.047 に答える