input file的默认value清空与赋值方法

来源:互联网 发布:沈阳凯文数据恢复 编辑:程序博客网 时间:2024/05/22 07:09
转载链接:http://www.jb51.net/article/24872.htm

出于安全性考虑,JS是不能直接设置File的value值的,下面是我总结出来的方法
第1个方法是大多人传统做法,替换HTML代码,楼上的已经用到了,我不过是用正则优化一下;
第2个方法利用SendKeys模拟键盘操作,需要允许浏览器调用ActiveX才行;

第3个方法,有点像武侠小说里的"乾坤大挪移"一样,呵呵,看看就知道了!

 <html> <head> <title>把input file類型的value清空--Test by 编程浪子</title> <script> function clearMethod1() { var objFile=document.getElementsByTagName('input')[0]; alert("\""+objFile.value+"\"已清除"); objFile.outerHTML=objFile.outerHTML.replace(/(value=\").+\"/i,"$1\""); } function clearMethod2() { var objFile=document.getElementsByTagName('input')[0]; alert("\""+objFile.value+"\"已清除"); var WshShell=new ActiveXObject("WScript.Shell"); objFile.focus(); objFile.createTextRange().select(); WshShell.SendKeys("{del}"); } function clearMethod3() { var objFile=document.getElementsByTagName('input')[1]; alert("\""+objFile.value+"\"已清除"); objFile.value=""; } </script> <head> <body> <input type="file" value="C:\abc.txt"/><br><br> <button onclick="clearMethod1();">清除大法1:李代桃僵</button><br> <button onclick="clearMethod2();">清除大法2:暗渡陈仓</button> <br><br><br><br><br><br><br> <input type="text" value=""/><input type="file" value="C:\abc.txt" onchange="this.previousSibling.value=this.value;" style="width:20"/><br><br> <button onclick="clearMethod3();">清除大法3:声东击西</button> </body> <html> 

一打开就给FILE域默认值的方法

 <html> <head> <title>input file赋初值--Test by 编程浪子</title> <script> function getInitVal() { var objFile=document.getElementsByTagName('input')[0]; var WshShell=new ActiveXObject("WScript.Shell"); objFile.focus(); WshShell.SendKeys("C:\\abc.txt"); } </script> <head> <body onload="getInitVal()"> <input type="file"/>(调到ActiveX) <br><br><br><br> <input type="text" value="C:\abc.txt"/><input type="file" style="width:20" onchange="this.previousSibling.value=this.value;"/> (直接模拟) </body> <html> 

0 0
原创粉丝点击