Показать сообщение отдельно
  #2 (permalink)  
Старый 15.11.2013, 03:03
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Ну, чтобы исправить код, нужно сначала понять что он должен делать. Я так понимаю, он проверяет значение поля "firstname" формы "feedback" при помощи регулярки и добавляет что-то типа хинта в какой-то другой элемент… Исходя из этих предположений я думаю, что баг в том, что в третьей строке написано "= =" вместо "=".

В общем-то, есть еще куча вопросов. Например, почему значение проверяется только раз в секунду? Я бы сделал как-то так:

<form action="" id="feedback">
    <input type="text" id="firstname" />
    <span id="firstname_check"></span>
</form>

var inputElem = document.getElementById('firstname');
var hintElem = document.getElementById('firstname_check');
var alpha = /[()\-.\/@^_а-яА-ЯёЁ\w]/;

inputElem.addEventListener('keypress', function () {
    /*
        Важный момент: событие keypress возникает до того как нажатая
        клавиша изменит значение инпута, так что мы немного откладываем
        проверку введенного значения. Совсем ненадолго. На 0. :)
    */
    setTimeout(function () {
        hintElem.innerHTML = alpha.test(inputElem.value) ? '+' : 'Некорректные символы';
    }, 0);
});
Ответить с цитированием