Отключить и включить кнопку отправки в jquery
Я использую 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();
});
});
Когда я это делаю, эта кнопка отключается навсегда, но если я хочу удалить, то что мне делать?
Ответы
Ответ 1
Используйте .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>
Ответ 2
Это ответ на часто задаваемые вопросы jQuery
Как отключить/включить элемент формы?
Существует два способа отключения/включения элементов формы.
Установите атрибут '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 );
Ответ 3
Чтобы окончательно удалить кнопку
$('#register').remove();
Чтобы восстановить кнопку
$('#register').attr('disabled',false);
Ответ 4
Является $('#divID').remove();
тем, что вы ищете?
http://docs.jquery.com/Manipulation/remove