Показать сообщение отдельно
  #1 (permalink)  
Старый 18.07.2009, 21:00
Новичок на форуме
Отправить личное сообщение для StasFetisov Посмотреть профиль Найти все сообщения от StasFetisov
 
Регистрация: 18.07.2009
Сообщений: 3

АНКЕТА на сайте
Привет всем.

Ситуация:
Сайт. На нём анкета для заполнения посетителями.
Данные анкеты отправляются мне на почту с помощью .php скрипта.
В анкете есть 3 поля обязательные для заполнения: Имя, Фамилия, е-майл.
www.StasFetisov.ru/mail.html
Я написал функцию на Java Script, которая проверяет есть ли данные в этих полях, если нет, то фон поля ввода данных становится красным.

Анкета (input"ы типа text) и кнопка типа submit находятся в форме:

<form name="form1" method="get" action="mail.php" id="form1" enctype="text/utf-8">
.....
</form>

Как планировалось:
По нажатию кнопки отправить (сейчас установлена submit): срабатывает JS, который проверяет заполнены ли нужные поля. Если нет - выделяет их красным. Если всё необходимое заполнено, то срабатывает php скрипт, отвечающий за отправку содержимого анкеты мне на почту.

Как сейчас сделано:
Кнопка submit выпоняет свою функцию: вызов php скрипта.
Отправка данных не выполняется, только если первые 6 полей пусты.

Если основные поля (имя, фамилия, почта) не заполнены, то, они будут подсвечены красным, когда посетитель кликнет на дополнительные поля ввода (7-10 строки).

Возможные пути решения:
1) Написать функцию, которая сначала вызовет функцию проверки ввода данных, и далее вызовет php скрипт.
Как с помощью Java Script вызвать php скрипт?

2) Как остановить выполнение php скрипта (типа exit в паскале).
Пробыал die() и exit() - выполняется переадресация на новую страницу. А мне важно, чтобы данные которые уже были введены так и остались в форме анкеты

3) создавать файл на серваке. Выполнять занова переход на страницу с анкетой, заполнять её данными из файла + выделять красным пустые input"ы типа text.

Помогите с этим разобраться:
Я не имею представления о том как выполнить любой из вышеописанных алгоритмов на JS

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

Заранее спасибо.
Ответить с цитированием