저는 ajax를 사용하여 PHP를 사용하여 파일을 탐색, 업로드 및 처리하는 양식을 제출하고 있습니다. 나는 표준 HTML 입력 유형 = "파일"버튼 (대부분 사람들이 그렇듯이)을 싫어하므로 결국 사용자 정의 할 수있는 다른 버튼 (id = "fileSelect")에서 표준 "찾아보기"버튼을 클릭하는 트릭을 사용했습니다. 사파리와 다른 사람들에게 잘 작동하지만 IE를 사용하면 양식을 제출하는 아약스 코드 라인이 실행되지 않습니다. 아약스 코드의 다른 요소가 실행됩니다 (경고 ("Ajax complete")가 끝나고 "$ ("# imageform "). ajaxForm ({target : '#preview'}).); " 라인 IE에서 작동하지 않습니다.입력 형식 파일로 Ajax 양식 제출
Ajax 코드 :
$(document).ready(function()
{
$('#xfile').live('change', function() // when there is an even on the 'file' element (like file selected)
{
$("#preview").html(''); // clears the preview area
$("#preview").html('<img src="general_images/loading.gif" alt="Uploading...."/>'); // displays the loading
$("#imageform").ajaxForm({target: '#preview'}).submit();
alert ("Ajax complete");
});
});
그리고 HTML 코드 :
<div>
<button id="fileSelect" onclick="document.getElementById('xfile').click();">Insert Picture</button>
<form style="display: inline" id="imageform" name="imageform" action="upload_file_journal.php" method="post" target="_blank" enctype="multipart/form-data">
<input style="visibility: hidden" type='file' name='xfile' id='xfile'/
</form>
그래서 자바 스크립트가 잘 작동하는 데 도움이됩니다. IE10을 사용해 보았지만 작동하지 않습니다. jquery 코드에서 제출을 트리거하지 않는 이유에 대해 궁금합니다. 아마도 그것은 IE에 대한 실질적인 구현 문제 일뿐입니다. IE 사용자가 기본 버튼을 사용하도록 강제하는 것입니다. – FredASL
예, 내가 읽은 것이 보안 때문이었습니다. 내 자신의 경험으로 jquery와 보조 버튼을 사용하여 파일 입력을 열 수 있지만 입력은 원하는대로 작동하지 않습니다. 이 게시물을보고, 서버에 그것을 확인하지 않습니다 데이터는, 내가 수정, http://stackoverflow.com/questions/793014/jquery-trigger-file-input에 대해 설명하고 무엇을 보여줄 것 – QBM5