私は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();
});
});
これを行うと、このボタンは永久に無効になりますが、削除したい場合はどうすればよいですか?
.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>
これは jQuery FAQ で回答されています
フォーム要素を無効/有効にするにはどうすればよいですか?
フォーム要素を無効/有効にする方法は2つあります。
'disabled'属性をtrueまたはfalseに設定します。
// Disable #x
$('#x').attr('disabled', true);
// Enable #x
$('#x').attr('disabled', false);
'disabled'属性を追加または削除します。
// Disable #x
$("#x").attr('disabled', 'disabled');
// Enable #x
$("#x").removeAttr('disabled');
更新:これを行う方法(FAQによる)は次のとおりです。
// Disable #x
$( "#x" ).prop( "disabled", true );
// Enable #x
$( "#x" ).prop( "disabled", false );
ボタンを完全に削除するには
$('#register').remove();
ボタンを元に戻すには
$('#register').attr('disabled',false);
$('#divID').remove();
はあなたが探しているものですか?