下面的代码使用 AjaxUpload.2.0.min.js 将文件上传到服务器
但是您需要多次单击“添加文件”按钮才能显示操作系统窗口(选择要上传的文件的位置),而不是单击一次。
此外,如果您在链接中单击一次,然后将鼠标移出红色区域并单击(在#upload_files 之外),最后您在链接中单击返回,它可以工作,操作系统窗口打开.. 但是为什么我必须这样做吗?AjaxUpload 最初不会绑定在 .livequery 调用中吗?那么,我该如何绑定呢?
请专注于这一点,在操作系统窗口上通过鼠标的第一次点击显示。其余的编程在我的服务器上运行良好。
.js 被上传到 github 以使代码易于测试,但实际上它们在我的机器中。
非常感谢
<head>
<style>
#upload_files{color: #fff; background:#F32201; border:1px solid #7E9DB9; padding:2px;}
</style>
<script type="text/javascript" src="https://gist.github.com/raw/6dd585079502f138d87e/7c243080233761859937d52195b670602731a379/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="https://gist.github.com/raw/eeb2fe78f63ab80b626d/5be66e749b19fbb5b7c8814bf72a98c083f2aaaf/jquery.livequery.min.js"></script>
<script type="text/javascript" src="https://gist.github.com/raw/826bff2445c8533dd7fc/797734455959ef27796b6770c95a7b39049ae6e9/AjaxUpload.2.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function uploadFiles(){
new AjaxUpload('#upload_files', {
action: 'whereToUploadInServer.php',
});
}//end uploadFiles
$("#upload_files").livequery("click", function(e){
e.preventDefault();
uploadFiles();
//debugger ;
});
}); //end document ready
</script>
</head>
<body>
<div><a href="#" id="upload_files">Add File</a></div> <br>
</body>