做一个H5页面,选中图片后上传,遇到手机QQ浏览器时 不能及时识别change事件,真是日了狗了,下面是针对这一现象的解决办法,不用change事件:
<!DOCTYPE>
<html>
<head>
<title></title>
<meta charset="utf-8"/>
<meta Content-Type="application/x-www-form-urlencoded" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"/>
<link rel="stylesheet" type="text/css" href="./css/style.css">
<script src="./js/lib/zetpo.min.js"></script>
<script src="./js/script/config.js"></script>
</head>
<body style="padding-top:0px">
<div class="container">
<div class="header">
<div class="examine negative" >
<span class="imgwords"><img src="./img/1.png"></span>
<span class="carwords">车辆档案</span>
</div>
<div class="examine negative">
<span class="imgwords "><img src="./img/2.png" ></span>
<span class="carwords">个人资料</span>
</div>
<div class="examine ">
<span class="imgwords"><img src="./img/3.png" ></span>
<span class="carwords">证件照片</span>
</div>
<div class="examine negative">
<span class="imgwords"><img src="./img/4.png"></span>
<span class="carwords">提交审核</span>
</div>
</div>
<div class="clear"></div>
<div class="content">
<p class="complateNew">您即将成为益驾好教练,请先完善证件照</p>
<div class="identify" style="float:left;margin-top:10%">
<p>驾驶证正面照</p>
<div class="kongbai"></div>
<div class="forInput" title="drive">
<input type="file" class="driveCode" title="drive" id="drive" onchange="showPhoto(this,'drive')" name="upfile" id="upfile" multiple="multiple">
<img src="./img/+.png" class="addCode" title="drive" onclick="getPhoto('drive')">
</div>
</div>
<div class="identify" style="float:left;margin-left:14%;margin-top:10%">
<p>教练证正面照</p>
<div class="kongbai"></div>
<div class="forInput" title="coach">
<input type="file" class="driveCode" title="coach" id="coach" onchange="showPhoto(this,'coach')" multiple="multiple">
<img src="./img/+.png" class="addCode" title="coach" onclick="getPhoto('coach')">
</div>
</div>
<div class="clear"></div>
<div class="identify" style="float:left;">
<p>身份证正面照</p>
<div class="kongbai"></div>
<div class="forInput" title="identity">
<input type="file" class="driveCode" title="identity" id="identity" onchange="showPhoto(this,'identity')" multiple="multiple">
<img src="./img/+.png" class="addCode" title="identity" onclick="getPhoto('identity')">
</div>
</div>
<div class="identify" style="float:left;margin-left:14%">
<p>行驶证正面照</p>
<div class="kongbai"></div>
<div class="forInput" title="driving">
<input type="file" class="driveCode" title="driving" id="driving" onchange="showPhoto(this,'driving')" multiple="multiple">
<img src="./img/+.png" class="addCode" title="driving" onclick="getPhoto('driving')">
</div>
</div>
<a class="validated"><img src="./img/submit.png" class="submit"></a>
</div>
</div>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
$.get(BASE_URL+"/basic/user/reload",{
},function(result){
if(result && result.success==true){
if(result.userInfo.lisence.coach){
// $(".addCode[title='coach']").css("display","none");
var lisenceType="coach";
$.get(BASE_URL+"/basic/user/lisenceGettoken",{
lisenceType:lisenceType
},function(result){
if(result && result.success==true){
var downloadUrl=result.downloadUrl;
$("<img src='"+downloadUrl+"' class='addedImg' title='coach'/>").appendTo('.forInput[title="coach"]');
}
})
}
if(result.userInfo.lisence.drive){
// $(".addCode[title='drive']").css("display","none");
var lisenceType="drive";
$.get(BASE_URL+"/basic/user/lisenceGettoken",{
lisenceType:lisenceType
},function(result){
if(result && result.success==true){
var downloadUrl=result.downloadUrl;
$("<img src='"+downloadUrl+"' class='addedImg' title='drive'/>").appendTo('.forInput[title="drive"]');
}
})
}
if(result.userInfo.lisence.driving){
// $(".addCode[title='driving']").css("display","none");
var lisenceType="driving";
$.get(BASE_URL+"/basic/user/lisenceGettoken",{
lisenceType:lisenceType
},function(result){
if(result && result.success==true){
var downloadUrl=result.downloadUrl;
$("<img src='"+downloadUrl+"' class='addedImg' title='driving' />").appendTo('.forInput[title="driving"]');
}
})
}
if(result.userInfo.lisence.identity){
// $(".addCode[title='identity']").css("display","none");
var lisenceType="identity";
$.get(BASE_URL+"/basic/user/lisenceGettoken",{
lisenceType:lisenceType
},function(result){
if(result && result.success==true){
var downloadUrl=result.downloadUrl;
$("<img src='"+downloadUrl+"' class='addedImg' title='identity'/>").appendTo('.forInput[title="identity"]');
}
})
}
}else{
if(result && result.errorInfo=="请先登录"){
location.href="/index.html";
}
}
})
})
function showPhoto(ele,type){
var files=ele.files,
file=files[0];
var reader = new FileReader();
reader.onload=function(){
$("<img src='"+this.result+"' class='addedImg' title='"+type+"' />").appendTo('.forInput[title'+'='+'"'+type+'"'+']');
}
reader.readAsDataURL(file);
var lisenceType=type;
$.get(BASE_URL+"/basic/user/lisenceUpToken",{
lisenceType:lisenceType
},function(result){
if(result && result.success == true){
var upToken=result.upToken;
var env = result.env;
var oMyForm = new FormData();
var href=location.href;
var id=href.replace(/^.+?id\=/,'');
var key=env+"/"+id;
oMyForm.append("token",upToken);
oMyForm.append("key", key);
oMyForm.append("file",file);
var oReq = new XMLHttpRequest();
oReq.open("POST", "http://upload.qiniu.com/");
oReq.send(oMyForm);
oReq.onreadystatechange = function (){
if(oReq.readyState==4 && oReq.status==200){
$('.driveCode[title'+'='+'"'+type+'"'+']').replaceWith('<input type="file" class="driveCode" title='+'"'+type+'" multiple="multiple">');
$.post(BASE_URL+"/basic/user/lisence",{
lisenceType:lisenceType
},function(result){
if(result.success==true){
}
})
}
}
}
})
}
function getPhoto(type){
$('.driveCode[title="'+type +'"]').trigger("click");
}
$('.forInput').on('click','.addedImg',function(){
var type=$(this).attr("title");
$(this).remove();
$('.driveCode[title="'+type +'"]').trigger("click");
});
$(".validated").on("click",function(){
if("img[title='coach'] && img[title='drive'] && img[title='identity'] && img[title='driving']"){
//资料上传
location.href="/complate.html"
}else{
alert("请等待图片上传完成");
}
})
</script>