在jQuery UI Dialog中启动相同的脚本(作为父脚本)失败

时间:2012-04-03 19:12:55

标签: jquery jquery-ui jquery-ui-dialog

目标:

  • 用户点击提交
  • jQuery-UI对话框打开
  • 该对话框填充了(PHP)服务器端脚本
  • 的结果

启动jQuery UI对话框的页面名为advanced.php。 UI对话框已启动并设置为也加载相同的脚本(advanced.php)。启动对话框后,我设置了一些JSON数据,并在此数据中包含一个标志,告诉advanced.php采取不同的行动。

// serialize the current form we want to pass into our script
var xData = $('#CONTROLLER').serialize();

// tack on a field that tells advanced.php to act differently
xData = xData + '&PLOTIT=1';
cURI  = '/advanced.php';

$dialog = $('<div id="advanced-data"></div>').load(cURI, xData)
            .dialog(
              { close     : function(event, ui) { $(this).remove(); },
                title     : cTitle,
                method    : 'POST',
                autoOpen  : false,
                width     : 1024,
                height    : 400,
                dataType  : "json",
                data      : xData,
                resizable : true,
                modal     : false,
                show      : 'blind',
                hide      : { effect: 'blind', duration: 300 },
                dialogClass : 'Contact'
              }
            ).data('parent', $parent);

$dialog.dialog('open');

弹出jQuery UI对话框并加载页面。不幸的是,似乎没有维护advanced.php创建的DOM之间的逻辑分离。也就是说,当对话框加载时,显示通常隐藏的所有表单元素。发布:

$('.maincontent').hide();

(其中maincontent是包含所有DOM的<div>)什么都不做。似乎jQuery UI对话框中包含的文档上的JavaScript也无效。

不是重写脚本,而是希望这里有一些简单的东西,这将导致jQuery UI对话框中的脚本工作。

0 个答案:

没有答案