Мне не нравится использовать библиотеки, поэтому я хочу использовать ванильный скрипт. код, который я использую, показан ниже.
Мне нужно заполнить формы, используя только клавиатуру.
Что я сделал до сих пор - автоматическая фокусировка на первом текстовом поле, затем клавиша ввода для перехода к следующим текстовым полям.
Проблема в том, что после того, как кнопка «Сосредоточено» отправлена, и после того, как я нажму клавишу «Ввод», она фокусируется обратно на первое текстовое поле вместо отправки формы.
Пожалуйста, помогите ...
window.onload=function(){
var inputs = document.querySelectorAll("input,select");
for (var i = 0 ; i < inputs.length; i++) {
inputs[i].addEventListener("keypress", function(e){
if (e.which == 13) {
e.preventDefault();
var nextInput = document.querySelectorAll('[tabIndex="' + (this.tabIndex + 1) + '"]');
if (nextInput.length === 0) {
nextInput = document.querySelectorAll('[tabIndex="1"]');
}
nextInput[0].focus();
}
})
}
}
<!DOCTYPE html>
<html>
<body>
<h2>HTML Forms</h2>
<form action="/action_page.php">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="John" tabindex= "1" autofocus><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe" tabindex= "2"><br><br>
<input type="submit" value="Submit" tabindex= "3">
</form>
</body>
</html>