Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将上传的文件作为参数传递给javascript方法_Javascript_Jquery - Fatal编程技术网

将上传的文件作为参数传递给javascript方法

将上传的文件作为参数传递给javascript方法,javascript,jquery,Javascript,Jquery,我将上传的文件作为JavaScript方法中的参数传递。然后Firebug抛出类似于语法错误:非法字符的错误 <input type="file" id="fileUpload" name="employerLogoUpload" /> <a id="_fileUploadLink" href="#" onClick="javascript:ajaxFileUpload(" +document.getElementById('fileUpload').value+ ");"&

我将上传的文件作为JavaScript方法中的参数传递。然后Firebug抛出类似于
语法错误:非法字符
的错误

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

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


请帮助我。

如果要使用内联事件属性,请将
onclick
处理程序更改为如下所示:

function ajaxFileUpload(val){
   ...
}

$(document).ready(function(){

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

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

       ajaxFileUpload(val);

   });

});
onClick="ajaxFileUpload(document.getElementById('fileUpload').value);"
onClick="javascript:ajaxFileUpload("
这将在单击时调用
ajaxFileUpload()
函数,并将
fileUpload
元素的当前值传递给它

你的onclick是这样的:

onClick="ajaxFileUpload(document.getElementById('fileUpload').value);"
onClick="javascript:ajaxFileUpload("
…之后的
+document.getElementById('fileUpload').value+”;“
不是onclick的一部分-该属性以其右引号结束。(另外,在任何内联事件处理程序中都不需要
javascript:
部分。)

但是,由于使用jQuery标记了问题,可能会丢失内联代码,并将以下内容放在元素之后的脚本块和/或文档就绪处理程序中:

$("#_fileUploadLink").click(function(e) {
    ajaxFileUpload($("#fileUpload").val());
    e.preventDefault();
});
.preventDefault()
用于在单击链接时阻止浏览器移动到文档顶部