Отображение результата отправки форм с использованием AJAX? - PullRequest
0 голосов
/ 11 апреля 2011

Я проектирую веб-сайт, на котором все страницы, которые пользователи выбирают из меню, загружаются в определенную область div страницы, и мне было интересно, как создать функциональность, которая, когда пользователь отправляет форму, вместо перехода на страницу Затем перейдите в форму, загрузив результаты в тот же раздел div.

Моя страница указателя выглядит так:

<body>
    <?php
    echo "<div id=\"siteLogo\">";
        require("public/includes/templates/header.php");
    echo "</div>";
    "<div id=\"siteMenu\">";
        require("public/includes/templates/menu.php");
    echo "</div>";
    echo "<div id=\"siteContent\">";
        require("public/includes/templates/home.php");
    echo "</div>";
    echo "<div id=\"siteFooter\">";
        require("public/includes/templates/footer.php");
    echo "</div>";
?>

Когда страница отображается, она принимает эту форму, с их содержанием, конечно:

<body>
    <div id="siteLogo">
    </div>
    <div id="siteLogo">
    </div>
    <div id="siteLogo">
    </div>
    <div id="siteLogo">
    </div>
</body>

Когда страница отображается, есть четыре области div, каждая из которых содержит соответствующее содержимое. Все элементы, выбранные из меню (menu.php), затем загружаются в область div web_Content с использованием следующего кода (отображаемый HTML и Javascript для загрузки AJAX)

<ul> 
    <li><a href="home.php">Home</a></li>
    <li><a href="contact.php">Help</a></li>
    <li><a href="help.php">Contact</a></li>
</ul>
-----------------------------------------------
$('#siteMenu a').click(function(e)
{
    $('#web_Content').load($(this).attr('href'), function()
    {
    })
});

Теперь, когда я добавляю форму в свое меню, она делает как положено и загружает содержимое (form.php) в область div #siteContents. Теперь я хотел бы иметь возможность настроить веб-сайт таким образом, чтобы при отправке формы данные отправлялись в сценарий (например, newDataPost.php), а этот сценарий вставлялся в div #siteContents, как способ, которым меню вставляет выбранные страницы в этот div?

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

1 Ответ

0 голосов
/ 11 апреля 2011

Обратите внимание на изменение события отправки в форме для выполнения вызова ajax, который принимает сериализованную форму. Примерно так:

$('form').submit(function(e) {
  e.preventDefault();
  $.get('some_endpoint.php', {form_data :$(this).serialize() }, function (data) {
   // your callback to insert new html into the div
  })

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