|
|
|
| Есть упрощенный обработчик формы ввода:
<?php
if (isset($_POST['first']))
{
echo 'Ошибочка вышла';
}
else
{
?>
<form action="index.php" method="POST">
<table>
<tr>
<td>Первое значение:</td><td><input type="text" name="first"></td>
</tr>
<tr>
<td>Второе значение:</td><td><input type="text" name="second"></td>
</tr>
<tr>
<td> </td><td><input type="submit" value="Обработать результат"></td>
</tr>
</table>
</form>
<?php
}
?>
|
Возможно ли реализовать вывод конструкции echo 'Ошибочка вышла'; без перезагрузки страницы? | |
|
|
|
|
|
|
|
для: Чувак
(26.01.2011 в 12:39)
| | Ajax или iframe. | |
|
|
|
|
 460 байт |
|
|
для: Чувак
(26.01.2011 в 12:39)
| | Не уверен, но кажется можно такое сделать. Я прикрепил пример из книги. В примере что-то подобное реализовано. | |
|
|
|
|
|
|
|
для: hxt
(26.01.2011 в 13:41)
| | В примере ничего подобного. | |
|
|
|
|
|
|
|
для: hxt
(26.01.2011 в 13:41)
| | Да, примерно так и нужно. Но я не пойму как в моем скрипте вывести сообщение подобном образом. | |
|
|
|
|
|
|
|
для: Чувак
(26.01.2011 в 13:47)
| | Данный пример будет перегружать страницу при запросе обработчика формы. Что тогда по вашему без перезагрузки? | |
|
|
|
|
|
|
|
для: sim5
(26.01.2011 в 13:59)
| | Сейчас проверил скрипт, он немного коряво работает, но страницу не перезагружает.
Ошибка там выводится чуть выше поля ввода. | |
|
|
|
|
|
|
|
для: Чувак
(26.01.2011 в 14:11)
| | Уважаемый, перезагрузка будет тогда, когда форма отправляется (!), а уж что ответит обработчик, или ошибкой, или ОК, так это ответная реакция сервера.
Без перезагрузки, так это обработка формы посредством асинхрнных запросов либо использование IFRAME, о чем сказано выше. Не путайте понятия. | |
|
|
|
|
|
|
|
для: sim5
(26.01.2011 в 14:32)
| | Да, это я понимаю. Еще хочу понять, каким образом приведенный скрипт выводит ошибку? | |
|
|
|
|
|
|
|
для: Чувак
(26.01.2011 в 12:39)
| | handler.php
<?php
print_r($_POST);
?>
|
form.php
<iframe id="test" name="test" src="handler.php"></iframe>
<form action="handler.php" target="test" method="POST">
<table>
<tr>
<td>Первое значение:</td><td><input type="text" name="first"></td>
</tr>
<tr>
<td>Второе значение:</td><td><input type="text" name="second"></td>
</tr>
<tr>
<td> </td><td><input type="submit" value="Обработать результат"></td>
</tr>
</table>
</form>
|
| |
|
|
|
|
|
|
|
для: Чувак
(26.01.2011 в 12:39)
| | А почему нельзя прверить наличие ошибки без отправки формы? Яваскриптом. И если есть оршибка, предотвратить отправку и сообщить о ней? Нафига бежать в магазин, чтоб узнать, что в нем не продается пандорский анаптаниум? И так же ясно: не продается. Так пусть яваскрипт и подсуетиться, чтоб не грузить сервер всякой всячиной.
А вот, когда научишся пользоватся яваскриптом, тогда сможешь скрестить его с ПХП и получить гибрид под названием аякс. И, если будет угодно, будешь проверять еще и аяксом, если чистый яваскрипт тебе не авторитет. | |
|
|
|
|
|
|
|
для: kosta_in_net
(29.01.2011 в 10:44)
| | Проверка на чистом JS, это просто сервис, а не проверка. | |
|
|
|
|
|
|
|
для: sim5
(29.01.2011 в 10:53)
| | человек хочет без перезагрузки. Если проверять на сервере, то это аякс. Для применения аякса нужно освоить и ПХП и яваскрипт. Я и предложил сделать для начала на чистом яваскрипте (предположив, что на чистом ПХП, с перезагрузкой он справляется). А потом делать гибрид | |
|
|
|
|
|
|
|
для: kosta_in_net
(29.01.2011 в 18:18)
| | Что толку в отсуствие перезагрузки, если таковую проверку обойти как....? Нет, не может быть, и не стоит даже говорить об этом тем, кто вообще понятия начальные даже не в полной мере знает, что на JavaScript может быть проверка. Это может быть только извещение пользователя о допущенных им неточностях, как сервисная услуга, а проверка только и только на сервере.
А об ajax и iframe ему уже говорили, но до этого ему еще.... | |
|
|
|