将上传的文件作为参数传递给javascript方法
我将上传的文件作为JavaScript方法中的参数传递。然后Firebug抛出类似于将上传的文件作为参数传递给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+ ");"&
语法错误:非法字符的错误
<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()
用于在单击链接时阻止浏览器移动到文档顶部