Симуляция нажатия клавиши клавиатуры
Представим, что есть вот такой input на сайте: input placeholder="Введи e-mail" name="username" type="email" class="sg-input sg-input--full-width" value="",который предназначен для ввода почты.
Я даю этому полю любое значение, но кнопка отвечающая за завершение регистрации
не будет активной пока я не введу любой символ в input через клавиатуру. И тут встает задача - симулировать нажатие клавиши, я перепробовал разные способы, например через dispatchEvent, но это не дало результатов. Не могли бы вы мне помочь с этим?
Ответы (2 шт):
Автор решения: CbIPoK2513
→ Ссылка
Такой вариант нужен?
$('#text').on('input', function(){ // При вводе в input#text, делаем следующее:
$('#submit') // берём input#submit
.prop('disabled', $(this).val().length > 0 ? false : true); // Если символов в input#text больше 0, то делаем кнопку input#submit - активной, если нет, то неактивной.
});
$('#submit').on('click', function(){ // при нажатии на input#submit выполняем следующее:
if($(this).prop('disabled') === false) { // если кнопка активна, то выполняем следующее
alert('Отправлено');
}
return false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="text" type="text" value="" placeholder="Введите текст">
<input id="submit" type="submit" value="Отправить" disabled>
Автор решения: Денис Степанов
→ Ссылка
Вот так
element.setAttribute('value', '[email protected]')
element.dispatchEvent(new Event('input', { bubbles: true, cancelable: true}));