Запретить перенаправление после отправки формы - PullRequest
21 голосов
/ 28 октября 2010

У меня есть HTML-форма, которая отправляет электронное письмо с PHP, и при отправке перенаправляет на эту страницу PHP.Есть ли способ предотвратить это перенаправление?Я создал анимацию с помощью jQuery, которую я хочу использовать вместо перенаправления.Я пытался вернуть false ;, но это не сработало.Вот моя функция:

$(function() {
    $('.submit').click(function() {
        $('#registerform').submit();
        return false;
    }); 
});

Вот открывающий тег формы:

<form id="registerform" action="submit.php" method="post">

И кнопка отправки:

<input type="submit" value="SUBMIT" class="submit" />

Ответы [ 13 ]

1 голос
/ 28 октября 2010

Простой ответ - отменить ваш звонок на внешний скрипт через AJAX-запрос.Затем обработайте ответ, как вам нравится.

1 голос
/ 28 октября 2010

Дизайн HTTP означает, что создание POST с данными вернет страницу. Оригинальные дизайнеры, вероятно, намеревались сделать так, чтобы это была «страница результатов» вашего POST.

Это нормально для PHP-приложения POST обратно на ту же страницу, поскольку оно может не только обрабатывать POST-запрос, но и генерировать обновленную страницу на основе исходного GET, но с новой информацией из POST. Однако ничто не мешает вашему серверному коду обеспечить совершенно другой вывод. Кроме того, вы можете POST на совершенно другую страницу.

Если вы не хотите вывод, один из методов, который я видел до запуска AJAX, состоял в том, чтобы сервер возвращал HTTP-код ответа (я думаю) 250. Это называется «Нет содержимого», и это заставить браузер игнорировать данные.

Конечно, третий метод - вместо этого сделать AJAX-вызов с вашими отправленными данными.

0 голосов
/ 28 октября 2010

Возможно, вам придется сделать запрос Ajax на вашу страницу. И return false делает не то, что вы думаете.

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