У меня есть этот jQuery
скрипт:
$(document).ready(function() {
//Focus the first field on page load
$(':input:enabled:visible:first').focus();
//Clear all fields on page load
$(':input').each(function() {
this.value = "";
});
});
//Clear field on focus
$('input').focus(function() {
this.value = "";
});
//Allow only alphabetical characters in the fields
$(':input').bind("keypress", function(event) {
if (event.charCode != 0) {
var regex = new RegExp("^[a-zA-Z]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
$(this).next('input').focus();
}
});
//Enumerate submit click on [ENTER]-keypress
$(':input').keypress(function(e) {
if (e.which == 13) {
jQuery(this).blur();
jQuery('#submit').click();
}
});
//Submit form
$('#submit').click(function() {
//Show loading image while script is running
$("#response").html("<img src='../images/loader.gif'>");
//POST fields as array
function serealizeInputs(input) {
var array = [];
input.each(function() {
array.push($(this).val())
});
return array;
}
var letters = serealizeInputs($('.letters'));
$.post('loadwords.php', {
letters: letters
}, function(data) {
//Show the resonse from loadwords.php
$("#response").html(data);
});
});
См. http://jsfiddle.net/8S2x3/1/.
Хотелось бы немного оптимизировать, но не знаю как.
Большая часть кода копируется, вставляется и изменяется, так как я все еще учусь.
Мой вопрос (ы): Как я могу переместить фокус на предыдущее текстовое поле при нажатии клавиши Backspace? Я хотел бы иметь возможность стереть символ, если вы наберете опечатку, но если вы снова нажмете клавишу Backspace, переместите фокус на предыдущее поле ввода. Таким образом, в основном, если ввод =''
и нажата клавиша Backspace, перейдите к предыдущему полю. Если ввод имеет значение и нажата клавиша Backspace, действовать как обычно (удалить символ)
Также мне интересно, как добавить класс css, если в поле есть значение, а если оно пустое, добавить еще один класс css.