日期:2014-05-18  浏览次数:20509 次

一个js的问题,就是客户端文件控件<input type=file 这个东西。选择好文件后要js来判断是否格式符合
一个js的问题,就是客户端文件控件 <input   type=file   这个东西。选择好文件后要js来判断是否格式符合。
效果是选择好文件以后,从文件选择框选择文件以后才引发这个检查事件。那么这个js事件是什么啊。onclick不行的。选择文件时候一开始就引发一次。

------解决方案--------------------
以前csdn的某位大大给我的, 我放在text里面, 拿出给你参考下
function ImageShow()
{
var filepath;

var fileext=document.getElementById( "File ").value.substring(document.getElementById( "File ").value.length-4,document.getElementById( "File ").value.length);
var fileext2=document.getElementById( "hidImage ").value.substring(document.getElementById( "hidImage ").value.length-4,document.getElementById( "hidImage ").value.length);
fileext=fileext.toLowerCase();

if(fileext2!= '.gif ' && fileext2!= '.jpg ')
{
document.getElementById( "lbPic ").innerText= '图片不属于GIF与JPG类型 ';
eval( "tbShow.style.display=\ "\ "; ");
return false;
}
if (fileext!= '.gif ' && fileext!= '.jpg ')
{
document.getElementById( "lbPic ").innerText= '图片不属于GIF与JPG类型 ';
eval( "tbShow.style.display=\ "\ "; ");
return false;
}
if(document.getElementById( "imgshow ").fileSize==-1)
{
document.getElementById( "lbPic ").innerText= '图片不属于GIF与JPG类型 ';
eval( "tbShow.style.display=\ "\ "; ");
return false;
}

if(document.getElementById( "File ").value.length> 0)
filepath=document.getElementById( "File ").value;
document.getElementById( "imgshow ").src=filepath;
document.getElementById( "imgshow ").width=128;
document.getElementById( "imgshow ").heigth=125;

var oFileChecker = document.getElementById( "imgshow ");
var FileMaxSize = 50;//限制上传的文件大小,单位(k) lbPic innerText

if(oFileChecker.fileSize> FileMaxSize*1024)
{
document.getElementById( "lbPic ").innerText= "当前文件为 " + oFileChecker.fileSize/1024 + "K,请不要超过 " + FileMaxSize + "K,请处理后再上传. ";
//alert( "当前文件为 " + oFileChecker.fileSize/1024 + "K\n文件不要超过 " + FileMaxSize + "K,请处理后再上传. ");
document.getElementById( "File ").value= ' ';
eval( "tbShow.style.display=\ "\ "; ");
return false;
}
return true;
}
------解决方案--------------------
好东西
------解决方案--------------------
1.
type=file 控件本身没有事件可用,需要另一个按钮来验证,比如你的上传按钮,

示例:

<script type= "text/javascript ">
function checkFileType()
{
var myFile = document.getElementById( "myFile ");
var filePath = myFile.value;
var dotNdx = filePath.lastIndexOf( '. ');
var exetendName = filePath.slice(dotNdx + 1).toLowerCase();
if((exetendName == "jpg " || exetendName == "jpeg " || exetendName == "gif " || exetendName == "png ")) {
return true;
}

return alert( "无效的图片格式。 ");
}
</script>

<input type= "file " id= "myFile " />
<input type= "button " value= "check file type " onclick= "checkFileType() " />

2.