0

尝试使用jQuery 选项卡制作表单向导。

是否可以将表单的每个步骤放在单独的视图中,然后通过 jQuery/AJAX 选项卡选项加载每个步骤?当我AJAX加载部分表单时,无法访问js、css等;因为部分文件没有“标题”。它似乎根本没有从父页面继承。<div>作为一种解决方法,我将所有表单放在一个页面上,并用s划分为选项卡。这可以完成工作,但关闭 js 并没有多大意义(尽管该应用程序依赖于 js,并且只能在内部使用启用 js 的浏览器)。

我正在使用 CodeIgniter,但我猜这个问题对任何 MVC 框架都有效。

4

3 回答 3

1

除非标签是在 iframe 中加载的,否则它们应该可以访问加载它们的页面的 js 和 css。你能做一个测试来确认你怀疑 JS 和 CSS 不可访问吗?

于 2008-10-16T13:56:31.880 回答
1

我只是使用我自己的 MVC 框架使用 jquery 选项卡编写一个类似的应用程序。这是我解决“在选项卡内浏览”的方法

问题:我的表单位于单独的视图中,并且它们使用 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 设置为它并重新加载它。

希望这可以帮助

于 2008-12-24T22:54:14.897 回答
0

我发现的问题是我的大部分 ajax 数据都作为 text/html 而不是 URL 发送回来?这意味着它不会显示,如果我将它附加到“目标”,那么它不会加载选项卡加载事件,因此不会发生与提交按钮的绑定

于 2009-05-25T01:38:47.367 回答