Mark onpropertychange应该也不支持FF吧
解决方案 »
- 求教:一个JS函数问题
- JS如何把当前页面所有的select表单元件 还原为最初状态
- 自己的javascript代码无法正确设置select的属性,帮看看什么问题!
- 当鼠标放在INPUT上面,显示INPUT上面的VALUE 谢谢
- 求助,关于jQuery中.ready()和.trigger()问题
- UBB问题 知道这个版块有高手
- 用什么代码,可以激活一个IE窗口,比如用户打开3个窗口,当到12点时,用户当前窗口是第3个,但此时第一个窗口激活
- 一个经典的javascript问题,托拽windows快捷图标
- 如何实现点击表格的一行就改变这一行的背景色,点击另一行时又改变另一行的背景色,同时使这一行的背景色又恢复原来的颜色???
- 求一时分自动补全的插件?
- 急!怎样能通过脚本改变页面上所有元素的大小。
- 我直接打false竟然也能提交
下面的例子在FF里能检测到,并提示用户,但不能创建新的元素--只能起提示作用,
用户再次选择会进行提示,在IE中基本上没什么问题;
<script language="javascript" type="text/javascript">
function ck(obj)
{
var r = true;
var name = obj.name;
var path = obj.value;
var fnode = document.getElementById("fnode"); if(path.length>0)
{
var af = ['jpg','gif','png','zip','rar','txt','htm'];
var ftype = path.substr(path.lastIndexOf('.')+1);
for (var i=0; i<af.length ; i++)
{ if (af[i] == ftype.toString())
{ r = false;break; }
}
if(r)
{
alert("Allowed file types:\n"+af);
var fel = document.createElement("input");
fel.setAttribute("type", "file");
fel.setAttribute("name", name);
fel.setAttribute("value", '');
fel.onchange = function () { ck(this);};
obj.removeNode(true);
fnode.appendChild(fel);
delete fel;
delete r;
return false;
}
}
return true;
}</script>
</HEAD><BODY>
<form>
<input type='text' name=xm ><br />
<div id="fnode"><input type='file' name='path' onchange="return ck(this);"/></div><br />
<input type="submit" value="开始上传"><br />
</form>
<form>
<input type=text name=xm >
<input type=file name=path onpropertychange="ck(this)"/>
<input type="submit" value="开始上传"><br>
</form>
</BODY>
</HTML>
<script>
function ck(obj){if(obj.value.length>0){
var af="jpg,gif,png,zip,rar,txt,htm";
if(eval("with(obj.value)if(!/"+af.split(",").join("|")+"/ig.test(substring(lastIndexOf('.')+1,length)))1;")){alert("Allowed file types:\n"+af);obj.createTextRange().execCommand('delete')};
}}
</script>/**********这个是检测文件大小的,但不支持FF浏览器**************/A:对于这一类操作,楼主还是放到服务端去检测,因为客户端在这方面的限制较多,即使检测出来了也可能不是你期待的结果.
fileSize property -> IE Only