встроенная форма отправки комментариев, которая не обновляется - PullRequest
0 голосов
/ 22 июня 2011

Каждый нижний колонтитул любой страницы моего сайта (приложение LAMP) имеет небольшую форму, где пользователи могут оставлять комментарии. Форма имеет несколько полей и кнопку «Отправить». Справа от кнопки «Отправить» я проецирую изображение, в котором написано что-то «мы вернемся к вам» в хорошем написании.

В идеале я бы хотел, чтобы пользователи заполнили форму, щелкнули по кнопке «Отправить» и просто заменили изображение другим изображением с надписью «спасибо» и приложением для отправки по электронной почте предварительно определенного электронного письма. почтовый адрес, содержание этой формы. Мне бы хотелось, чтобы это происходило без перезагрузки страницы и без потери пользователем прокручиваемого окна просмотра на веб-странице.

Я знаю, что в PHP есть функции для отправки электронной почты, но они действительно зависят от размещения формы с содержимым, таким образом, перезагрузка и отправка, конечно же, выполняются на стороне сервера. Но здесь без перезагрузки страницы.

Я знаю об AJAX, который позволяет мне отправлять запросы на сервер. Так ли это? У вас есть страница на сервере, которая никогда не видна пользователям, и AJAX просто вызывает запрос к ней из пользовательской формы после завершения отправки? эта страница будет выполняться на стороне сервера, но никогда не будет возвращать новую страницу или вызывать переход за пределы того места, где сейчас находится пользователь?

Мне не нужно разбивать строку на строку, но если кто-то может просто указать мне правильное направление относительно того, как чего-то подобного можно достичь, я бы сам провел техническое исследование относительно реализации.

1 Ответ

0 голосов
/ 22 июня 2011

Вы бы отправили сообщение ajax в функцию php с данными из формы, а обратный вызов для ajax удастся заменить изображение.

Что-то вроде

$.ajax({
    url: "send_comments.php",
    data: { email: $("#email").value() },
    success: function(data) {
        $(".comments img").html(/* new image html */);
    })
});

Предполагается, что у вас есть jQuery.

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