2012-12-12 2 views
0

업로드 된 파일을 JavaScript 메서드의 매개 변수로 전달하고 있습니다. 그러면 방화범이 나서 SyntaxError: illegal character과 같은 오류가 발생합니다.업로드 된 파일을 자바 스크립트 메서드의 매개 변수로 전달

<input type="file" id="fileUpload" name="employerLogoUpload" /> 

<a id="_fileUploadLink" href="#" onClick="javascript:ajaxFileUpload(" +document.getElementById('fileUpload').value+ ");">Upload</a> 

도와주세요. 당신은 다음과 같이 인라인 이벤트 속성이 onclick 처리기를 변경 사용하려면

답변

1
function ajaxFileUpload(val){ 
    ... 
} 

$(document).ready(function(){ 

    $('a#_fileUploadLink').on('click', function(){ 

     var val = $('#fileUpload').val(); 

     ajaxFileUpload(val); 

    }); 

}); 
1

:

onClick="ajaxFileUpload(document.getElementById('fileUpload').value);" 

, 클릭에서 ajaxFileUpload() 함수를 호출하고 그것에게 fileUpload의 현재 값을 합격 요소.

방법 당신이 당신의 온 클릭이 모습이 있었다 :

onClick="javascript:ajaxFileUpload(" 

을 ... 그리고 그 후 +document.getElementById('fileUpload').value+ ");"이었다 온 클릭이 아닌 부분 - 속성은 닫는 따옴표로 끝납니다. (javascript: 부분은 인라인 이벤트 처리기 안에있을 필요가 없습니다.

그러나 질문을 jQuery로 태그 지정 했으므로 인라인 코드를 잃어 버리거나 요소 및/또는 요소 뒤에 스크립트 블록에 다음을 넣을 수 있습니다. 또는 문서 준비 핸들러 :

$("#_fileUploadLink").click(function(e) { 
    ajaxFileUpload($("#fileUpload").val()); 
    e.preventDefault(); 
}); 

.preventDefault()은 링크를 클릭 할 때 문서의 맨 위로 이동 브라우저가 중지하는 것입니다.

관련 문제