2013-01-15 2 views
2

동적으로 생성 된 문자열의 iframe에 이미지를 표시해야합니다. iframe의 ID는 upload_target입니다. jquery를 사용하여 iframe의 이미지로드

내가 editImage.php 단순히 올바른 파일 이름을 반환

// assign esrc and upath 
$.ajax 
({ type: "POST", 
    url: "editImage.php", 
    data: {esrc: editsource, upath: upath } , 
    success: function(esource) 
    { //load into iframe 
     s = esource; 
     console.log(s); 
     $('#upload_target').contents().find('body').html(s); 
    } 
}); 

파일을 사용하고 코드입니다. 콘솔에 올바른 파일 이름이 표시되므로 아무런 문제가 없음을 알 수 있습니다. 하지만 iframe에는 아무런 변화가 없습니다. 같은 iframe에 다른 이벤트, 즉 target이 iframe 인 양식 제출을 채울 수있었습니다. 그런데 왜 여기서 작동하지 않습니까?

나는 또한 $('#upload_target').attr('src',s)을 시도했지만 406 오류가 발생했습니다.

답변

0

을 위해 잘 작동, 난 그냥 미친 수정 프로그램을 해킹. 합리적인지는 모르겠지만 작동합니다. 아약스를 사용하는 대신에, 내가 전달한 값을 보유한 숨겨진 입력이있는 양식을 작성하여 editImage.php에 제출하고 해당 양식을 제출했습니다. iframe이 이미지를 잘로드했습니다.

$('#imgdialog').append("<form id='imageeditform' method='post' action='editImage.php' target='upload_target'><input type='hidden' name='esrc' value='"+editsource+"' /><input type='hidden' name='upath' value='"+$('#upath').val()+"' /></form>"); 
$('#imageeditform').submit(); 
3

...find("body").append($("<img/>").attr("src", s).attr("title", "sometitle")); 

가이 코드를 디버깅하지 않았지만 작업을해야 해보십시오.

편집

이 코드는 나를 결국

<iframe id="upload_target"><html><body></body></html></iframe> 

<script type="text/javascript"> 
    $(function() { 
     $('#upload_target').contents().find('body').append($("<img/>").attr("src", "http://www.bing.com/az/hprichbg/rb/NYBirds_ROW10420117938_1366x768.jpg").attr("title", "sometitle")); 
    }); 
</script> 
+0

나는 덧붙이려고했지만 아무런 차이가 없었다. – user961627

관련 문제