Страница на вкладке или на аккордеоне - как это делается на стороне сервера? - PullRequest
0 голосов
/ 15 февраля 2009

У меня есть веб-страница с вкладками или аккордеоном, созданная с помощью YUI или jquery или другой платформы javascript + css.

Скажем, HTML-форма обрабатывается в одной вкладке. Что должен делать сервер? Вернуть обратно все вкладки, с вкладкой, которая отправила форму с результатами, а все остальные вкладки без изменений? Или что?

Ответы [ 3 ]

2 голосов
/ 15 февраля 2009

Когда вы выбираете каждую новую вкладку, вы можете отправлять JQuery AJAX-запрос только на тот контент, который вам необходим, например, Если ваш пользователь нажимает на вкладку «Спорт», вы можете сделать запрос к «sports.html» на своем сервере и отобразить его на вкладке.

Здесь есть хороший обзор здесь , в котором описывается, как этого добиться, все основано на такой базовой функции, как:

// Clicked on "sports" tab
$("#sports").click(function() 
{ 
    // Make ajax call
    $.ajax( 
    { 
        url: "sports.html",     // page to be called
        cache: false, 
        success: function(message) 
        { 
            // Success code returned, clear sports
            // content area and inject server response
            $("#sportscontent").empty().append(message); 
        } 
    }); 
});
0 голосов
/ 15 февраля 2009

Вы всегда должны отправлять документы, которые все еще могут использоваться, когда поддержка JavaScript недоступна. И поскольку большинство таких переходов используют идентификатор фрагмента URI для идентификации части документа, которая должна отображаться, вы также можете использовать это и нацелить свою форму на этот фрагмент:

<form action="#tab3" method="post">

Или вы используете JavaScript для отправки данных, получения ответа и отображения его на текущей вкладке.

0 голосов
/ 15 февраля 2009

Вы можете использовать функцию $ .get в Jquery для извлечения элементов при нажатии.

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