Как использовать CodeIgniter / MVC Views внутри вкладок jQuery / AJAX? - PullRequest
0 голосов
/ 15 октября 2008

Попытка создать мастер форм с помощью jQuery tabs .

Можно ли иметь каждый шаг формы в отдельных представлениях, а затем загружать каждый из них с помощью опции вкладок jQuery / AJAX? Когда я загружаю AJAX частичную форму, он не имеет доступа к js, css и т. Д .; поскольку для частичного файла нет заголовка. Это, кажется, не наследуется от родительской страницы вообще. В качестве обходного пути у меня есть все формы на одной странице, разделенные на вкладки с <div> s. Это делает работу, но с отключенным js это не имеет особого смысла (хотя приложение опирается на js и будет использоваться внутри компании только с браузерами, поддерживающими js).

Я использую CodeIgniter, но, полагаю, этот вопрос подходит для любой инфраструктуры MVC.

Ответы [ 3 ]

1 голос
/ 25 декабря 2008

Я просто пишу подобное приложение, используя вкладки jquery, используя мою собственную инфраструктуру MVC. Вот как я решил проблему «просмотра внутри вкладки»: У меня есть формы в отдельных представлениях, и они загружаются на вкладке с помощью AJAX.

  jQuery(document).ready(function(){
    var tabs = jQuery("#tabs > ul").tabs().bind('tabsload', function( event, ui ){
      jQuery( 'form', ui.panel ).submit(function() {
        jQuery.ajax({
          type: 'post',
          url: $(this).attr('action'),
          data: $(this).serialize(),
          success: function( response ){
            if(response.match( /^http:\/\/.*$/ ))
            {
              tabs.tabs('url', ui.index, response );
              tabs.tabs('load', ui.index );
            }
          }
        });
        return false;
      });
    });

После каждой загрузки вкладок я перезаписываю событие отправки по умолчанию формы внутри содержимого вкладки (доступно для ui.panel). Затем форма сериализуется и отправляется в виде ajax-сообщения. Если ответ является URL-адресом, я просто устанавливаю URL-адрес вкладки и перезагружаю его.

Надеюсь, это поможет

1 голос
/ 16 октября 2008

Если вкладки не загружаются в iframes, они должны иметь доступ к js и css страницы, на которой они загружаются. Можете ли вы выполнить тест, чтобы подтвердить ваше подозрение, что JS и CSS недоступны?

0 голосов
/ 25 мая 2009

Проблема, с которой я столкнулся, заключалась в том, что большая часть моих данных ajax отправляется обратно как текст / html, а не как URL? это означает, что он не отображается, и если я присоединяю его к «цели», он не загружает событие tabsload и, следовательно, привязка к кнопке отправки не происходит

...