2011-10-26 13 views
0

同じドメインの下のページを指し示すiframeを持つjQueryダイアログを作成する必要があります。私はそのページの特定のIDを必要としています。 .load()を使用することはできません。ソースページにリンクがあり、誰かがクリックすると、ダイアログボックスが表示されたページが更新され、そのページを取得できません。この周りに道があることを願っています。これは私が試したものです:jQuery iframeソースDOMエレメントを選択してください

$('<iframe src="'+frameurl+'" id="dialogframe" frameBorder="0" />').contents().find("#idthatiwant").dialog({attributes}); 

答えて

0

これは、あなたが探している正確に何ではないかもしれない、とされていない場合、私はおわび申し上げますが、私は同じクランチの下にあったとき、それは私のために働きました。

divのhrefを設定するのは普通のajaxですが、代わりにajaxを使用するようにclickイベントとsubmitイベントをオーバーライドします。したがって、iframeのように動作しますが、実際にはiframeではありません。

私はJS externalContainerという名前のdivを持っていて、ここにある:

$('#externalContainer form').live("submit", function(event) { 
    $(this).ajaxSubmit({target: '#externalContainer'}); 
    return false; 
}); 

$('#externalContainer a').live('click', function(event){ 
    var jthis = $(this); 
    if (jthis.attr('href') != "#"){ 
    event.preventDefault(); 
     $('#externalContainer').load(jthis.attr('href')); 
    } 
}); 

私は、単純に新しいHTMLをロードするために$('#externalContainer').load("file.php");を呼ぶだろう

これは、すべての「機能」を持っていません。通常のiframeのものですが、必要なもので動作する可能性があります。

私はこの技術を私はstackoverflow上の別の質問を信じていることに注意してください:)。

編集: これはまた、 "iframe"内のajaxを許可するので、hrefが '#'と等しくないことが確認されます。また、これは、form submit stuffの使用を計画している場合、ajaxForm jqueryプラグインに依存します。

関連する問題