Ошибка функции JavaScript с кнопкой возврата - PullRequest
0 голосов
/ 11 декабря 2010

У меня есть функция javascript, которая применяется к текстовому полю onkeyup, так что когда пользователь вводит дату в формате дд / мм / гггг, он вставляет косую черту.Это также останавливает пользователя, превышающего десять символов.Однако, когда пользователь использует кнопку возврата, в то время как числа удаляются, пока вы не нажмете кнопку, я не смогу заставить кнопку возврата вернуться за пределы косой черты.

Вот мой код,и я выделил жирным шрифтом бит, который не работает:

функция DateInputUpdate (input) {
if (input.value.length == 2 || input.value.length == 5) input.value = input.value + dateSep;

   if (input.value.length > dateFormat.length) {
    input.value = input.value.substring(0, dateFormat.length);

   if (event.keyCode == 8) {
     if (input.value.length == 3 || input.value.length == 6) {
        input.value = input.value.substring(input.value.length, input.value.length - 1);
   }
  }
}

}

Может кто-нибудь подсказать, что мне нужно сделать или изменить?Я не особенно хочу удалять косые черты, больше игнорировать их или пропускать их, это мое идеальное решение.

Спасибо

1 Ответ

0 голосов
/ 11 декабря 2010

Из-за отсутствия } вы проверяете только для keyCode == 8, если длина ввода была больше, чем длина dateFormat.

Также вы добавляете /, даже еслипользователь нажал клавишу Backspace.Это приводит к двусмысленности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...