как показать всплывающее сообщение (например, этот сайт) в форме отправки - PullRequest
0 голосов
/ 07 апреля 2010

я использую php и jquery в моем приложении

Я хочу, чтобы, когда пользователи отправляли форму успеха на странице 1, пересылали форму страницы с страницы 1 на страницу 2 и отображали всплывающее сообщение (например, на этом сайте) «успех», а когда они не отправляли сообщения об успехе, не пересылайте и просто отображайте всплывающее окно сообщение "ошибка"

как я могу реализовать этот процесс?

спасибо

Ответы [ 3 ]

0 голосов
/ 07 апреля 2010

В вашей форме вы можете добавить некоторый javascript в тег формы, например ...

<form action="page2.php" onsubmit="if (CONDITION) {alert('Success'); return true;} else { alert('Error'); return false;}">
    <input type="submit" value="Submit">
</form>

Вы можете просто вызвать функцию ("return checkCondition ();") в части onsubmit и написать функцию в отдельном файле Javascript.

Если Javascript в части onsubmit возвращает true, он перейдет на страницу, указанную в действии. Если он возвращает false, то проверка формы завершится неудачно, и она останется на том же месте.

0 голосов
/ 22 марта 2013

Я бы не стал полагаться на сам Javascript в первом «возврате CheckCondition () в onsubmit» (автор Muddybruin), но я бы использовал его! Я бы не стал полагаться на это, потому что посетитель МОЖЕТ включить Javascript и легко обойти функциональность.

Я бы также использовал «header-redirection-answer» (Леви Хэквит), но я бы изменил его на:

<?php
//checkform.php
if($form_success) { 

//Include template or code here when form is successful

}
else {

//Include template or code here when form is unsuccessful

}
?>

Если вам абсолютно необходимо перейти к определенному файлу, когда форма успешна, то я бы включил его вместо перенаправления. Это связано с тем, что перенаправления могут вызывать неестественные проблемы, связанные с индексацией ссылок в поисковиках, и это будет намного медленнее, чем просто включение непосредственно в checkform.php. Также имейте в виду, что перенаправления заголовков должны отправляться ДО того, как любой другой вывод будет отправлен из скрипта.

0 голосов
/ 07 апреля 2010

Вы бы использовали что-то вроде этого:

<?
if($form_success) { //
   header("location: formpage2.php?success=1");
}
else {
   header("location: formpage1.php?error=1");
}
?>

Если вы хотите передать данные формы со страницы 1 на страницу 2 в случае успеха, используйте либо строку запроса URL-адреса, либо сохраните все, что находится в $ _POST, в $ _SESSION.

Для всплывающего сообщения, я бы проверил значение успеха в строке запроса formpage2 и оттуда использовал javascripts alert, чтобы предупредить пользователя об их успехе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...