上傳控件基礎知識說明:
上傳控件(<input type="file"/>)用於在客戶端瀏覽並上傳文件,用戶選取的路徑可以由value屬性獲取,但value屬性是只讀的,不能通過javascript來賦值,這就使得不能通過value=""語句來清空它。很容易理解為什麼只讀,如果可以隨意賦值的話,那麼用戶只要打開你的網頁,你就可以隨心所欲的上傳他電腦上的文件了。
js 獲取<intput type=file />的值
複製代碼代碼如下:
<html>
<script language='javascript'>
function show(){
var p=document.getElementById("file1").value;
document.getElementById("s").innerHTML="<input id=pic type=image height=96 width=128 /> ";
document.getElementById("pic").src=p;
alert(p);
}
</script>
<head>
<title>MyHtml.html</title>
</head>
<body>
<input type="file" name="file1" id="file1" onpropertychange="show();" />
<span id="s"></span>
</body>
</html>
清空上傳控件(<input type="file"/>)的值的兩種方法
方法1:
複製代碼代碼如下:
<span id=span1>
<input name=ab type=file>
</span>
<input name=button1 type=button value="按" onclick=show()>
<script language=javascript>
function show()
{
document.getElementById("span1").innerHTML="<input name=ab type=file>";
}
</script>
方法2:
複製代碼代碼如下:
function clearFileInput(file){
var form=document.createElement('form');
document.body.appendChild(form);
//記住file在舊表單中的的位置
var pos=file.nextSibling;
form.appendChild(file);
form.reset();
pos.parentNode.insertBefore(file,pos);
document.body.removeChild(form);
}