Научите, пожалуйста, данные с формы обрабатывать

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Corite
Сообщения: 32
Зарегистрирован: 29 июл 2004, 13:46

Есть форма регистрации. Ну там имя, фамилия, адрес и т. д. В html все через <input type...> сделано. Как потом введенные значения проверить и, самое главное куда их обычно записывают, и как?
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Где проверить? До субмиттинга или после?
Если до, то есть напоследок проверить поля JavaScript'ом и указать пользователю если чего не так, то onSubmit
<form ... onSubmit="preSubmitCheck(this)">
</form>
Там в обработчике можно отвергнуть попытку сабмита формы, если вернуть false.

Если надо уже на сервере их обработать, то это дело передается обрабатывающему скрипту на сервере через POST переменные.
<form action="script.php?action=submit ...>
....
</form>
После субмита формы вызывается скрипт script.php, через GET переменные ему передается, что action=submit,
а данные формы - через POST переменные. Доступ к POST переменным осуществляется в PHP через глобальный массив $_POST[]
2B OR NOT(2B) = FF
Corite
Сообщения: 32
Зарегистрирован: 29 июл 2004, 13:46

Я имелл в виду нажимаешь на кнопку и выскакивает сообщение заполните поля такие-то. Соответственно пока их не заполнишь никакой отправки не будет.
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Если до, то есть напоследок проверить поля JavaScript'ом и указать пользователю если чего не так, то onSubmit
<form ... onSubmit="preSubmitCheck(this)">
</form>
Там в обработчике можно отвергнуть попытку сабмита формы, если вернуть false.
А это чего?
2B OR NOT(2B) = FF
Corite
Сообщения: 32
Зарегистрирован: 29 июл 2004, 13:46

preSubmitCheck(this) - это пдпрограмма, которая может вернуть false? Можешь пример написать для проверки введено ли имя например?
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

function preSubmitCheck(form) {
if (form.name.value == "") {
alert('Пожалуйста, введите Ваше имя');
form.name.focus();
return false
}
return true;
}
2B OR NOT(2B) = FF
Corite
Сообщения: 32
Зарегистрирован: 29 июл 2004, 13:46

Спасибо, обязательно попробую!
Corite
Сообщения: 32
Зарегистрирован: 29 июл 2004, 13:46

Работает. А можно как-нибудь сделать, чтобы список вылезал. Типа вы не ввели: Фамилию, адрес, ИНН и т. д.?
Corite
Сообщения: 32
Зарегистрирован: 29 июл 2004, 13:46

В голове уже зреет безумное количество операторов сравнения. Это как-нибудь проще можно реализовать?
Ответить