|
|
|
| Есть форма на странице 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. | |
|
|
|
|
|
|
|
для: alik
(07.12.2004 в 00:31)
| | Я знаю. Но нужно так.
Заказчик видел на каком-то форуме такую мулю, теперь тоже самое хочет. | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: cheops
(07.12.2004 в 00:41)
| | Я прочитал топик.
Я так понял чтобы данные не отправлялись после alerta нужно писать return false;
Я попробовал. Всё равно отправляются. Показывет "Введите пароль" и переходит на post.php :( | |
|
|
|
|
|
|
|
для: NiKRON
(07.12.2004 в 01:13)
| | А нет... пост я как илюстрацию идеи про обработку данных на стороне клиента привёл... про то как решить проблему Дизайнер расcкажет... | |
|
|
|
|
|
|
|
для: 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() у формы
| |
|
|
|