アップロード コントロール (<input type="file"/>) は、クライアント上でファイルを参照およびアップロードするために使用されます。ユーザーが選択したパスは、value 属性によって取得できますが、value 属性は読み取り専用であり、取得できません。 JavaScript を通じて割り当てられるため、value="" ステートメントではクリアできません。読み取り専用である理由は簡単に理解できます。値を自由に割り当てることができれば、ユーザーが Web ページを開いている限り、好きなようにファイルをコンピューターにアップロードできます。
js は <input type=file /> の値を取得します
次のようにコードをコピーします。
<html>
<script language='javascript'>
関数 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;
アラート(p);
}
</script>
<頭>
<title>MyHtml.html</title>
</head>
<本文>
<input type="file" name="file1" id="file1" onpropertychange="show();" />
<span id="s"></span>
</body>
</html>
アップロード コントロールの値をクリアする 2 つの方法 (<input type="file"/>)
方法 1:
次のようにコードをコピーします。
<スパン id=span1>
<入力名=ab タイプ=ファイル>
</スパン>
<input name=button1 type=button value="押す" onclick=show()>
<スクリプト言語=javascript>
関数 show()
{
document.getElementById("span1").innerHTML="<入力名=ab タイプ=ファイル>";
}
</script>
方法 2:
次のようにコードをコピーします。
関数クリアファイル入力(ファイル){
var form=document.createElement('form');
document.body.appendChild(フォーム);
// 古い形式でのファイルの位置を記憶する
var pos=file.nextSibling;
form.appendChild(ファイル);
フォーム.リセット();
pos.parentNode.insertBefore(file,pos);
document.body.removeChild(form);
}