Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

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

 

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

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

тема: Alert
 
 автор: NiKRON   (07.12.2004 в 00:14)   письмо автору
 
 

Есть форма на странице register.php
Нажав на submit она отправляет данные на допустим post.php
У меня javascript проверяет введённые данные. После проверки, если есть неправильный ввод, он выдаёт alert(). Но всё равно отправляет на post.php
А как сделать чтоб после alert() оставалась таже самая страница и ничего не отправлялось? А отправлялось только тогда когда всё введено правильно.

   
 
 автор: alik   (07.12.2004 в 00:31)
 
   для: NiKRON   (07.12.2004 в 00:14)
 

На мой взгляд лучше проверять корректность данных при помощи PHP и использовать функции либо exit(), либо break.

   
 
 автор: NiKRON   (07.12.2004 в 00:34)   письмо автору
 
   для: alik   (07.12.2004 в 00:31)
 

Я знаю. Но нужно так.
Заказчик видел на каком-то форуме такую мулю, теперь тоже самое хочет.

   
 
 автор: cheops   (07.12.2004 в 00:41)   письмо автору
 
   для: alik   (07.12.2004 в 00:31)
 

Это не всегда так - дело в том, что для того, чтобы PHP проверил данные, они должны попасть на серевер, а их может быть несколько мегабайт... JavaScript позволяет осуществить проверку без отправки данных, экономя деньги посетителя и снижая общий трафик сети.

PS Это не значит, что средствами PHP не стоит ничего проверять (JavaScript может быть отключён, да и мало ли что посетители подсунут), но JavaScript пренебрегать не стоит...

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=29

   
 
 автор: NiKRON   (07.12.2004 в 01:13)   письмо автору
 
   для: cheops   (07.12.2004 в 00:41)
 

Я прочитал топик.
Я так понял чтобы данные не отправлялись после alerta нужно писать return false;
Я попробовал. Всё равно отправляются. Показывет "Введите пароль" и переходит на post.php :(

   
 
 автор: cheops   (07.12.2004 в 02:53)   письмо автору
 
   для: NiKRON   (07.12.2004 в 01:13)
 

А нет... пост я как илюстрацию идеи про обработку данных на стороне клиента привёл... про то как решить проблему Дизайнер расcкажет...

   
 
 автор: glsv (Дизайнер)   (07.12.2004 в 01:53)   письмо автору
 
   для: NiKRON   (07.12.2004 в 00:14)
 

Попробуйте следующим образом:

<form name=form enctype='multipart/form-data' action=index.php method=post>
  <input type=submit value="Отправить" onclick="checkform(); return false">
</form>
<script language='JavaScript' type='text/javascript'>
<!--
  // Функция проверки данных в форме
  function checkform()
  {
   // Проверки....
   // err  - есть или нет ошибки
    if (!err) this.form.submit();
  }
//-->
</script>

На нажатие кнопки назначаете функцию checkform(), и прекращаете дальнейщую
обработку формы с помощью return false

Чтобы всеже отправить форму вызываете
метод submit() у формы

this.form.submit()

   
Rambler's Top100
вверх

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