2012-03-19 11 views
2

フォームのターゲット属性を使用してjquery/phpを使用してファイルアップロードasyncを実行しています。ターゲットは "uploads"という名前のiframeです。 PHPファイルのエラーを管理するために、iframe本体の内部にあるエコーを含む "ERR_TOO_LARGE_FILE"のような文字列を返します。iframeコンテンツの準備が完了したときに、親ページからiframeコンテンツにアクセスする

問題はiframeの準備ができていることを検出し、そのコンテンツにアクセスしてエラーがあるかどうかを確認する方法がわかりません。私は、次のコードを試してみましたが、それはうまくいきませんでした:

$("#uploads").on("load", function() { 
    alert($(this).html()); 
}); 

警告ボックスが表示されましたが、何も内部。代わりにreadyイベントを使用しようとしましたが、今回は何も表示されません。

あなたがよりよい方法を見つけたら、この解決策または代替解決策を達成する方法を知りたいですか?

+0

クロスサイトですか? – jackJoe

+0

いいえ、それは、フォームのファイルをアップロードする私のPHPファイルを参照しています。 – maniak

+2

iframeの中からuはちょうど 'top.myFunction()'を呼び出すことができますし、ページが完全に読み込まれたら、jqueryの準備関数を使うことができます:) – Val

答えて

4

iframeのコンテンツを変更することはできません。少なくとも、jqueryを使用して直接アクセスすることはできません。 .contents() & .find()を使用してiframeからhtmlを取得して、必要な情報を得ることができます。

ので、

$("#uploads").on("load", function() { 
    alert($(this).contents().find('html').html()); 
}); 

はiframe内のhtmlの内容を返す必要があります。あなたが探している特定の要素を知っているならば、あなたはタグidのために 'html'を交換することができます。

+0

ありがとう、それは働いている! – maniak

関連する問題