2012-12-12 193 views
0

我將上傳的文件作爲參數傳遞給JavaScript方法。然後Firebug拋出錯誤,如SyntaxError: illegal character將上傳的文件作爲參數傳遞給javascript方法

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

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

請幫我一把。

回答

1
function ajaxFileUpload(val){ 
    ... 
} 

$(document).ready(function(){ 

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

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

     ajaxFileUpload(val); 

    }); 

}); 
1

如果要使用內聯事件屬性更改onclick處理程序是這樣的:

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

這將上點擊,調用ajaxFileUpload()功能,通過它fileUpload的當前值元件。

這就是你口中那所謂的的onclick是這樣的:

onClick="javascript:ajaxFileUpload(" 

...和+document.getElementById('fileUpload').value+ ");"之後是的onclick的一部分 - 屬性,其右引號結束。 (你也不用任何內聯事件處理程序內的javascript:一部分。)

但因爲你加了標籤的問題與jQuery你可能會失去內嵌代碼,放在一個腳本塊以下的元素後,和/或在文檔準備好處理程序:

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

.preventDefault()是那裏阻止瀏覽器移動到文檔的頂部,當您點擊鏈接。

相關問題