Вопрос № 159787: Здравствуйте. Я хочу сделать проверку на правильность ввода дат на ява скрипт т.е. есть два текстовых поля в 1-е вводится дата ,в формате ,2009-02-14 во второе 2009-03-14 мне надо , что бы был правильный ввод - это значит,что дата в 1-м по...
Вопрос № 159.787
Здравствуйте. Я хочу сделать проверку на правильность ввода дат на ява скрипт т.е. есть два текстовых поля в 1-е вводится дата ,в формате ,2009-02-14 во второе 2009-03-14 мне надо , что бы был правильный ввод - это значит,что дата в 1-м поле была более ранняя чем во втором поле (сейчас введено правильно) , какие функции ява скрипт для этого можно использовать и вообще как лучше организовать проверку ? Спасибо.
Отправлен: 06.02.2009, 19:23
Вопрос задал: Dima1967 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 8)
Отвечает: Товарищ Бородин
Здравствуйте, Dima1967! Конвертируя даты в формат UNIX timestamp(временная метка UNIX, то есть, число секунд от 00:00:00 01-01-1970) и сравнивая их, можно легко добиться проверки на правильность ввода. Методика сравнения такая: var date1 = Date.parse("гггг,мм,дд");// Первая дата. пробовал указывать дефисы - не получается, javascript упорно любит запятые. var date2 = Date.parse("гггг,мм,дд");// Вторая дата. // на выходе получаем даты в миллисекундах, и их можно сравнивать путем
применения знаков <>. if (date1 > date2) { // если первая дата БОЛЬШЕ второй, что явно неправильно, делаем какие-то действия по недопущению подобной ситуации. } В теге FORM можем указать атрибут onsubmit, в котором прописать сей вышеуказанный код. А также остальные проверки. Чтобы форма не отправлялась на сервер с перезагрузкой страницы, а с помощью AJAX, в конце onsubmit`а надо написать return false; Сравнение можно производить
при отправке формы. Пожалуй, это самый разумный вариант. Есть возможность проверять по событию onChange - но это уже громоздкий вариант.
С уважением, Товарищ Бородин
Ответ отправил: Товарищ Бородин (статус: Профессионал) Россия, Новосибирск Тел.: +7-923-245-3366 ICQ: 346988855 ---- Ответ отправлен: 06.02.2009, 19:44
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 243052 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.