Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маска ввода в поле <input type="text">, или аналог OnKeyPress для формы 
:(
    Опции темы
wesadex
Дата 26.7.2005, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 21.6.2005

Репутация: нет
Всего: нет



Я немного знаю php, даже написал собственную программульку для работы с базой фильмов, но вот заморочка, когда добавляешь в базу фильм при его описании в поле "Длительность" очень неудобно вводить данные в формате time (HH:mm:ss) и я решил написать обработчик события OnKeyPress (если такое событие вообще существует в HTML) для отфильтровывания неправильного ввода в поля формы и преобразования введенных данных в поле time, но с какой стороны подойти к проблеме не знаю - знаний не хватает. Писать за меня скрипт не надо, просто подскажите с какой стороны подобраться к проблеме! Заранее спасибо!
PM MAIL   Вверх
Mal Hack
Дата 26.7.2005, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Лучше давать пользователю список с часами и минутами, а потом из них в скрипте генерировать время для подстановки в базу.
Вобщем проверять ТОЛЬКО на стороне сервера.
PM ICQ   Вверх
oksale
Дата 26.7.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 17.6.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Если не формировать комбобоксы с часами и минутами, как сказал Mal Hack, а позволять пользователям вводить данные, тогда проверять данные нужно примерно так:
Код

<html>
<head>
  <title></title>
</head>
<body>
<form name = 'form1' method = 'post'>

<?
if(isset($_POST['time']))
{
    // если данные введены правильно
    if(is_numeric($_POST['time']) == true)
        echo '\''.$_POST['time'].'\''.' is a numeric value';
    // иначе данные неверны
    else
        echo '\''.$_POST['time'].'\''.' is a wrong value';
}
?>
<br>
<input type = 'text' name = 'time' value = '' size = '10' maxlength = '5'>
<br>
<input type = 'submit' name='send' value = 'Send'>
</form>
</body>
</html>

--------------------
WBR, oksale
PM MAIL ICQ   Вверх
Mal Hack
Дата 26.7.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



oksale
is_numeric не проходит.
Надо юзать ctype_digit, а после - checkdate().

Хотя даже с селектами надо все это проворачивать.
PM ICQ   Вверх
wesadex
Дата 27.7.2005, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 21.6.2005

Репутация: нет
Всего: нет



Спасибо за советы.
Есть еще один небольшой вопрос:

Правильно ли будет написать небольшой скрипт на ПХП примерно так:

<script language="PHP">
function Change()
{
// тело скрипта
}
</script>

и можно ли потом добавить эту функцию как обработчик события OnChange (да или вообще любого другого) в поле формы так:

<form action="ggg.php" method="post">
<input type="text" onChange="Change()">
<input type="submit">
</form>
???

Как вообще правильно реализовать такую схему? И как в обработчике получить значения полей формы... Я все-таки горю желанием написать обработчик, который на лету будет править содержимое поля time. Постчекинг дело хорошее, но я хочу максимально ускорить/упростить ввод данных и правка на лету - как раз то, что нужно!
Вопросы может и покажутся глупыми спецам, но я что-то очень мало инфы в Нете нашел на эту тему и там нет той, что мне нужна... т.е. я ее не нашел, а посему не судите строго! smile
Спасибо!
PM MAIL   Вверх
lina
Дата 27.7.2005, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.7.2005
Где: Харьков

Репутация: 1
Всего: 1



На сколько я знаю скрипты в html пишутся на JavaScript или VBScript, ПХП используется для других целей :-) Я бы воспользовалась одним из ранее предложенных вариантов, но если они тебе не подходят могу предложить свой smile Просто создай 3 поля типа text для внесения часов, минут и секунд, maxlength поля 2. В каждом поле создай обработчик метода onBlur (потеря фокуса), то есть если в поле минуты введено число 145 при переходе к введению секунд будет показано сообщение "Недопустимое количество минут".
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.