Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Возможно ли в форме в текстовом поле задать костяк даты, который пользователь не сможет стереть?
 
 автор: st.Ass   (22.10.2006 в 00:32)   письмо автору
 
 

т.е.

<form>
<input  type="text" name="date" size="10" maxlength="5" value="0000-00-00 00:00:00"> 
</form>


Можно ли сделать так, чтобы пользователь не смог стереть это - "0000-00-00 00:00:00"
а мог бы только редактировать нули?

   
 
 автор: codexomega   (22.10.2006 в 01:46)   письмо автору
 
   для: st.Ass   (22.10.2006 в 00:32)
 

нет.
Но обработать после ввода всегда можно как угодно

   
 
 автор: 12345   (22.10.2006 в 03:45)   письмо автору
 
   для: codexomega   (22.10.2006 в 01:46)
 

Вообще-то скриптом можно. Проверять по OnKeyUp и по onPaste .

   
 
 автор: st.Ass   (24.10.2006 в 10:32)   письмо автору
 
   для: 12345   (22.10.2006 в 03:45)
 

Можете привести пример такого скрипта? Просто с яваскрипт очень мало работал:(

   
 
 автор: coloboc66   (24.10.2006 в 11:29)   письмо автору
 
   для: st.Ass   (24.10.2006 в 10:32)
 

---

   
 
 автор: 12345   (24.10.2006 в 14:16)   письмо автору
 
   для: coloboc66   (24.10.2006 в 11:29)
 


<input  type="text" name="date" siz e="10" value="0000-00-00 00:00:00" onchange=ff(this)>
<script>s00='0000-00-00 00:00:00';
ff=function(t){
  var s=t.value;
  if(!/\d{4}-\d\d-\d\d \d\d:\d\d:\d\d^/.test(s))t.value=s00;
  else s00=s;
}</script>
Этот скрипт работает при потере фокуса полем ввода, а вообще надо проверять через некоторое время, чтобы неправильные данные долго не светились.

   
 
 автор: st.Ass   (24.10.2006 в 15:28)   письмо автору
 
   для: 12345   (24.10.2006 в 14:16)
 

Не работает:(
Возможно я не правильно изложил условия проблемы?

Необходимо чтобы в конструкции 0000-00-00 00:00:00 -

пользователь мог редактировать только "0", а формат даты\времени оставался неизменным...
После того, как пользователь введет данные, они будут проверены на сервере, после чего будет сформирован запрос к бд для выборки данных по времени.

   
 
 автор: elenaki   (24.10.2006 в 15:44)   письмо автору
 
   для: st.Ass   (24.10.2006 в 15:28)
 

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

a календарь - это хорошая идея. вот. дарю безвозмездно, т.е. даром

   
 
 автор: st.Ass   (24.10.2006 в 19:06)   письмо автору
 
   для: elenaki   (24.10.2006 в 15:44)
 

elenaki спасибо, элегантный календарик=)

>сделайте 6 инпутов, ограниченных количеством символов. проверку на ввод только чисел
>сделать легко. можно сделать и автопереход на след. поле после заполнения одного. а
>между инпутами рисуете или тире или точки с запятой. при вводе в базу переменные полей
>можно склеить.

Так и сделал в самом начале, но смотрится не очень...

Оставляю вопрос открытым, т.к. тема мне кажеся очень интересна и многим будет полезна....

   
 
 автор: 12345   (24.10.2006 в 16:04)   письмо автору
 
   для: st.Ass   (24.10.2006 в 15:28)
 

Работает ___при потере фокуса___ .
Кликните мышью вне поля ввода, другими словами.

Восстанавливать данные не при потере фокуса сложно, потому что сначала надо продумать эргономику. Например, прежде чем вставить цифру, пользователь захочет удалить "0", правильно? Что делать в этом случае? Или захочет стереть всё, чтобы ввести правильную дату. Сейчас, если число цифр ___при потере фокуса___ будет правильным, введённые данные сохранятся, если нет, восстановится прежнее.

   
 
 автор: st.Ass   (24.10.2006 в 18:55)   письмо автору
 
   для: 12345   (24.10.2006 в 16:04)
 

> прежде чем вставить цифру, пользователь захочет удалить "0", правильно?
Нет, не правильно. Пользователь просто вводит данные - курсор стоит слева от нолика, потом пользователь набирает дату и нолики просто перезаписываются...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования