Симуляция нажатия клавиши клавиатуры

Представим, что есть вот такой 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}));
→ Ссылка