2012-01-16 12 views
1

私はページ別のiframeでiframeのコンテンツにアクセスするにはどうすればよいですか?

<div id="editForm_container"> 
<form id="imageForm" name="imageForm" enctype="multipart/form-data" target="hiddenFrame" method="post" action="test.php">     

    <label><strong>File Name</strong></label> 
    <input type="file" name="fileupload" id="fileupload" /><br /> 
    <input type="submit" name="submit_image" id="submit_image" /> 

</form> 
<iframe id="hiddenFrame" name="hiddenFrame"></iframe> 

を持っていると私は別のページにある別のiframeをするには、このページをロードし、私はこれは空白を返す私のjsファイルに

$("#imageFrame").load(function(){ 

this.imageFramecontent = $("#imageFrame").contents(); 
this.imageFramefields.fileField = this.imageFramecontent.find(":input[ name = 'fileupload' ]"); 
this.imageFrameform = this.imageFramecontent.find("form#imageForm"); 
this.hiddenFrame = this.imageFramecontent.find("iframe#hiddenFrame"); 

this.imageFramefields.fileField.change(function(){ 

    self.imageFrameform.submit(); 
    self.hiddenFrame.load(function(){ 

     alert(self.hiddenFrame.contents().html()); 
    });      
}); 

これを書きました警戒。 #hiddenFrameコンテンツを入手するにはどうすればよいですか?

+0

はすべて同じiframeにロードされていますか?あなたはjavascriptコンソールで何かエラーに気付いたことがありますか? – fcalderan

+0

はい、同じドメインにあります。コンソールにエラーが返されない – user1066679

+0

@FabrizioCalderan解決策があれば、この問題についてお手伝いください... – user1066679

答えて

2

あなたは近くにいました。 .contents()メソッドは、一連のDOM要素を返します。したがって、HTMLを返す要素を指定する必要があります。私はかなりあなたが上記の供給のコードをオフに実行されているサンプルを得ることができませんでしたが、私はそれが次の調整で作業を取得するために管理

hiddenFrame.contents().find('html').html(); 

$("#imageFrame").load(function(){ 

    imageFramecontent = $("#imageFrame").contents(); 
    imageFrameupload = imageFramecontent.find(":input[ name = 'fileupload' ]"); 
    imageFrameform = imageFramecontent.find("form#imageForm"); 
    hiddenFrame = imageFramecontent.find("iframe#hiddenFrame"); 

    imageFrameupload.change(function(){ 

     hiddenFrame.load(function(){ 

      alert(hiddenFrame.contents().find('html').html()); 

     }); 
     imageFrameform.submit(); 

    }); 
}); 
ですから、このような行を必要とするだろう
+0

あなたはGenius Goranです。ありがとうございました あなたのソリューションは多くの問題を解決しました。ありがとう – user1066679

関連する問題