ตัวควบคุมการอัปโหลด (<input type="file"/>) ใช้เพื่อเรียกดูและอัปโหลดไฟล์บนไคลเอ็นต์ เส้นทางที่ผู้ใช้เลือกสามารถรับได้จากแอตทริบิวต์ value แต่แอตทริบิวต์ value เป็นแบบอ่านอย่างเดียวและไม่สามารถรับได้ กำหนดผ่านจาวาสคริปต์ซึ่งทำให้ไม่สามารถล้างผ่านคำสั่ง value="" ได้ เป็นเรื่องง่ายที่จะเข้าใจว่าทำไมจึงเป็นแบบอ่านอย่างเดียว หากสามารถกำหนดค่าได้ตามต้องการ ตราบใดที่ผู้ใช้เปิดหน้าเว็บของคุณ คุณก็สามารถอัปโหลดไฟล์บนคอมพิวเตอร์ของเขาได้ตามต้องการ
js รับค่าของ <intput type=file />
คัดลอกรหัสรหัสดังต่อไปนี้:
<html>
<ภาษาสคริปต์='จาวาสคริปต์'>
ฟังก์ชั่นแสดง(){
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);
-
</สคริปต์>
<หัว>
<title>MyHtml.html</title>
</หัว>
<ร่างกาย>
<input type="file" name="file1" id="file1" onpropertychange="show();" />
<span id="s"></span>
</ร่างกาย>
</html>
สองวิธีในการล้างค่าของการควบคุมการอัพโหลด (<input type="file"/>)
วิธีที่ 1:
คัดลอกรหัสรหัสดังต่อไปนี้:
<span id=span1>
<ชื่ออินพุต=ประเภท ab=ไฟล์>
</span>
<input name=button1 type=button value="กด" onclick=show()>
<ภาษาสคริปต์=จาวาสคริปต์>
ฟังก์ชั่นแสดง()
-
document.getElementById("span1").innerHTML="<ชื่ออินพุต=ab type=file>";
-
</สคริปต์>
วิธีที่ 2:
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น clearFileInput (ไฟล์) {
var form=document.createElement('ฟอร์ม');
document.body.appendChild (แบบฟอร์ม);
//จำตำแหน่งของไฟล์ในรูปแบบเก่า
var pos=file.nextSibling;
form.appendChild (ไฟล์);
แบบฟอร์ม.รีเซ็ต();
pos.parentNode.insertBefore (ไฟล์ pos);
document.body.removeChild (แบบฟอร์ม);
-