2012-12-12 159 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()是那里阻止浏览器移动到文档的顶部,当您点击链接。

相关问题