input file的預設value清空與賦值方法
阿新 • • 發佈:2019-01-06
第1個方法是大多人傳統做法,替換HTML程式碼,樓上的已經用到了,我不過是用正則優化一下;
第2個方法利用SendKeys模擬鍵盤操作,需要允許瀏覽器呼叫ActiveX才行;
一開啟就給FILE域預設值的方法
第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>