我将上传的文件作为JavaScript方法中的参数传递。然后Firebug抛出类似SyntaxError: illegal character
的错误。
<input type="file" id="fileUpload" name="employerLogoUpload" />
<a id="_fileUploadLink" href="#" onClick="javascript:ajaxFileUpload(" +document.getElementById('fileUpload').value+ ");">Upload</a>
请帮帮我。
答案 0 :(得分:2)
如果要使用内联事件属性,请将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()
可以阻止浏览器移动到文档顶部。
答案 1 :(得分:1)
function ajaxFileUpload(val){
...
}
$(document).ready(function(){
$('a#_fileUploadLink').on('click', function(){
var val = $('#fileUpload').val();
ajaxFileUpload(val);
});
});