input type="file"的限制 <input type="file" id="file" />这样的标签如何能做到 如图的效果??谢谢限制只能选择某些文件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script> function openfile() { try{ var fd = new ActiveXObject("MSComDlg.CommonDialog"); fd.Filter = "图像文件 (*.jpg;*.jpeg;*.gif)|*.jpg;*.jpeg;*.gif"; fd.FilterIndex = 2; fd.MaxFileSize = 128; fd.ShowOpen(); document.getElementById("txtFileName").value = fd.Filename; document.getElementById("textImage").src =fd.FileName; }catch(e){alert("你的浏览器不支持ActiveX!\r\n请启用ActiveX后重试.");document.getElementById("txtFileName").value = "";} }</script> <input type="text" id="txtFileName" size="50" readonly="readonly" /> <input type="button" onclick="openfile();" value="Browse..." /> <img id="textImage" alt=""/> IE8 和 FF 都不行噢 function limitImg(){ var img=document.getElementById(arguments[0]);//显示图片的对象 var maxSize=arguments[1];// var allowGIF=arguments[2]||false; var maxWidth=arguments[3]||0; var maxHeight=arguments[4]||0; var postfix=getPostfix(img.src); var str=".jpg"; if(allowGIF){str+=".gif"} if(str.indexOf(postfix.toLowerCase())==-1){ if(allowGIF){return "图片格式不对,只能上传jpg或gif图像";}else{return "图片格式不对,只能上传jpg图像";} }else if(img.fileSize>maxSize*1024){ return "图片大小超过限制,请限制在"+maxSize+"K以内"; }else{ if(img.fileSize==-1){ return "图片格式错误,可能是已经损坏或者更改扩展名导致,请重新选择一张图片"; }else{ if(maxWidth>0){ if(img.width>maxWidth){ return "图片宽度超过限制,请保持在"+maxWidth+"像素内"; }else{ if(img.height>maxHeight){ return "图片高度超过限制,请保持在"+maxHeight+"像素内"; }else{ return ""; } } }else{ return ""; } } } } //根据路径获取文件扩展名 function getPostfix(path){ return path.substring(path.lastIndexOf("."),path.length); } <body> <input type="file" onchange="document.getElementById('img1').src=this.value;" /> <img id="img1" /> <input type="button" onclick="aa()" value="上传" /> </body> <script type="text/javascript">function aa(){ if(limitImg('img1',100,false,1000,100)==""){ alert("图片上传成功"); }else{ alert(limitImg('img1',100,false,1000,100)); } } <script> JQuery dialog Jquery计算二个时间 0==""返回true ****************自定义下拉列表框 关于在javascript调用JS的问题 求两数组比较(交集)的算法? javascript中如何替换word中的文本框内容 关于showModalDialog打开的窗口的里面连接问题 怎么将字符串的中文替换 请教:能不能在window.close(),完不要系统弹出的确认对话框?如能,怎么做? Javascript 无法跳转,希望高手指点 调用开源的API(Javascript)有什么安全风险和隐私风险?
<script>
function openfile()
{
try{
var fd = new ActiveXObject("MSComDlg.CommonDialog");
fd.Filter = "图像文件 (*.jpg;*.jpeg;*.gif)|*.jpg;*.jpeg;*.gif";
fd.FilterIndex = 2;
fd.MaxFileSize = 128;
fd.ShowOpen();
document.getElementById("txtFileName").value = fd.Filename;
document.getElementById("textImage").src =fd.FileName;
}
catch(e){alert("你的浏览器不支持ActiveX!\r\n请启用ActiveX后重试.");
document.getElementById("txtFileName").value = "";}
}</script>
<input type="text" id="txtFileName" size="50" readonly="readonly" /> <input type="button" onclick="openfile();" value="Browse..." />
<img id="textImage" alt=""/>
function limitImg(){
var img=document.getElementById(arguments[0]);//显示图片的对象
var maxSize=arguments[1];//
var allowGIF=arguments[2]||false;
var maxWidth=arguments[3]||0;
var maxHeight=arguments[4]||0;
var postfix=getPostfix(img.src);
var str=".jpg";
if(allowGIF){str+=".gif"}
if(str.indexOf(postfix.toLowerCase())==-1){
if(allowGIF){return "图片格式不对,只能上传jpg或gif图像";}else{return "图片格式不对,只能上传jpg图像";}
}else if(img.fileSize>maxSize*1024){
return "图片大小超过限制,请限制在"+maxSize+"K以内";
}else{
if(img.fileSize==-1){
return "图片格式错误,可能是已经损坏或者更改扩展名导致,请重新选择一张图片";
}else{
if(maxWidth>0){
if(img.width>maxWidth){
return "图片宽度超过限制,请保持在"+maxWidth+"像素内";
}else{
if(img.height>maxHeight){
return "图片高度超过限制,请保持在"+maxHeight+"像素内";
}else{
return "";
}
}
}else{
return "";
}
}
}
}
//根据路径获取文件扩展名
function getPostfix(path){
return path.substring(path.lastIndexOf("."),path.length);
} <body>
<input type="file" onchange="document.getElementById('img1').src=this.value;" />
<img id="img1" />
<input type="button" onclick="aa()" value="上传" />
</body>
<script type="text/javascript">
function aa(){
if(limitImg('img1',100,false,1000,100)==""){
alert("图片上传成功");
}else{
alert(limitImg('img1',100,false,1000,100));
}
}
<script>