2010-10-14 90 views
1

标题说,所有的东西都有一个优点:我不想在我的网页正文中添加<div id="something"></div>使用jQuery UI对话框,我如何从另一个网页加载内容?

我发现这个在互联网上:

var $mklib = $('<div></div>') 
     .html('test') 
     .dialog({ 
      title: "Create a library", 
      autoOpen: false, 
      show: "fade", 
      hide: "fade", 
      draggable: false, 
      resizable: false, 
      height: 150, 
      width: 300, 
      buttons: { "Create": function() { 
       $(this).dialog("close"); } 
       },  
     }); 
$(".open_mklib").click(function() { 
    $mklib.dialog("open"); 
    return false; 
}); 

但我需要的.html('test')'load_that_*****_page.php'

而且题外话,我需要创建按钮发送,这将是load_that_*****_page.php里面的形式。 ..

任何超人的救援?

非常感谢!


好吧,我在网上找到了,这里是代码,但是当我点击Submit时,它不起作用! :P (网址:http://magix-cjquery.com/post/2010/08/01/jquery-ui-dialog-avec-soumission-de-formulaire-ajax

$('.open_mklib').live("click",function(){ 
     var box_url = "./functions/modal.php"; 
      var form_url = "./"; 
     $("#mklib").load(box_url, function() { 
       $(this).dialog({ 
          title: 'New Library', 
         height: 'auto', 
         width:'auto', 
          resizable: false, 
         modal: true, 
         position: 'center', 
         overlay: { 
           backgroundColor: '#000', 
           opacity: 0.5 
         }, 
         buttons: { 
           'Submit': function() { 
             $("#mklib form").ajaxSubmit({ 
               url: box_url, 
               type: "post", 
               error: function(){ 
                 alert("theres an error with AJAX"); 
               }, 
               beforeSubmit:function(){}, 
               success: function(e){} 
             }); 
             $(this).dialog('close'); 
           }, 
           'Cancel': function() { 
             $(this).dialog('close'); 
           } 
         } 
       }); 
     }); 
}); 
+0

你说“标题说所有东西都有一样东西”,但我不明白标题说的是什么。我将它改为:“使用jQuery UI对话框,我如何从另一个网页加载内容?”。你在问什么? – Josh 2010-10-14 01:00:16

+0

是的;)对不起:S – 2010-10-14 01:03:25

+0

(真的对不起乔希我的英文真的很差,所以我认为它很清楚,可以理解,但它可能都是相反的) – 2010-10-14 01:05:05

回答

0

这会看上你?从来没有这样做过,但从理论上讲,我会假设你必须首先加载你的php,然后在成功的对话框中包装它。

此外,我还包括在你的关闭第二个Ajax电话。

var $mklib = $('<div></div>') 
    .ajax({type: "GET", url: blah_blah.php, dataType: "script", success: function(){ 
     .dialog({ 
      title: "Create a library", 
      autoOpen: false, 
      show: "fade", 
      hide: "fade", 
      draggable: false, 
      resizable: false, 
      height: 150, 
      width: 300, 
      buttons: { "Create": function() { 
       $.ajax({type: "POST", url: "whever_this_goes.php", data: $("#yourForm").serialize(), success: function(){$(this).dialog("close") })} 
       },  
     }); 
    } 
}); 

$(".open_mklib").click(function() { 
    $mklib.dialog("open"); 
    return false; 
}); 
+0

哇!非常感谢,我不知道你是如何做到的,但谢谢! - EDIT: - Oups! Dreamweaver CS5警告我关于线路上的错误:.dialog({我试图找出错误的位置,但由于我是jQuery的新手,对我来说有太多{}和()...大声笑 – 2010-10-14 01:53:47

+0

(原始文章编辑,见上面的新代码)...仍然没有工作...任何想法? – 2010-10-14 03:40:47

+0

不应该是'$(this).dialog()在第3行?@杰瑞米尝试 – 2010-10-14 14:41:35

相关问题