onclick触发type=file并上传文件
最新推荐文章于 2024-08-24 15:00:00 发布

Gemini_Kanon 于 2019-05-09 15:41:50 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
最近又研究了点前端的东西(小编也是见了鬼,身为后端程序员净干前端活儿了),通过onclick函数触发input的type="file"并实现上传文件,目的是为了美化input的上传文件功能,而且我发现了个事儿,网上的代码有用的很多,实用的没几个,基本贴出来的代码不是不全就是运行报错,这对于新手来说属实很闹心······下面贴代码~
<button id="uploadBtn">走你</button>
<form id="myForm" style="display: none;">
<input type="file" name="file" id="file" multiple="multiple" onchange="handlefiles(this.files)">
</form>
<script type="text/javascript">
var uploadBtn = document.getElementById("uploadBtn"),
file = document.getElementById("file");
uploadBtn.addEventListener("click", function (e) {
if (file) {
file.click();
}
e.preventDefault();
}, false);
function handlefiles(){
var formData = new FormData($("#myForm")[0]);
$.ajax({
url: "/haha/upload",
type: "post",
data: formData,
contentType:"application/x-www-form-urlencoded; charset=utf-8",
async: false,
cache: false,
contentType: false,
processData: false,
success: function(data){
if(data.state == "1"){
console.log(data.msg)
var html = "<img onclick='big(id)' id=img"+data.id+" src='"+data.fileAddress+"' width='200' height='200'>";
$("#text").val(html);
$("#submit").trigger("click");
}else if(data.state == "2"){
console.log(data.msg)
}else if(data.state == "3"){
console.log(data.msg)
}
}
});
}
<script>
实际上也是有一个input,type="file"不显示,通过button触发input,后台上传图片代码就不贴了,网上有很多现成的~
相关知识
input[type=“file”] change事件第二次不触发
js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中
使input type=“file” 不可编辑
文件上传模块formidable如何使用
上传图片功能学习
JavaScript导入js文件使用type='module'
自定义(滑动条)input[type=“range”]样式
利用百度图像识别鉴定植物
前端
HarmonyOS应用开发者高级认证,Next版本发布后最新题库
原文链接: onclick触发type=file并上传文件 https://m.huajiangbk.com/newsview640143.html
| 上一篇: 养花记:办公室桌面养花,首选这几... | 下一篇: 鸭脚木应该怎么摆放 |



