ฉันกำลังดำเนินการกับแบบฟอร์มที่มีอินพุตไฟล์สำหรับอัปโหลดรูปภาพ มีonchange()
เหตุการณ์สำหรับอินพุตเหล่านั้นที่ส่งรูปภาพไปยังiframe
จากนั้นโหลดรูปภาพที่อัปโหลดลงในฟอร์มแบบไดนามิกโดยมีฟิลด์ที่จะแก้ไขสำหรับรูปภาพเหล่านั้น (เช่นชื่อและการแปลตามพื้นที่ทางภูมิศาสตร์ )
เนื่องจากฉันไม่สามารถซ้อนแบบฟอร์มได้file_input
จึงมีอยู่ในiframe
ไฟล์. ในท้ายที่สุดฉันใช้ไฟล์iframe
ภายในของอีกiframe
อัน ดังนั้นฉันจึงมีสิ่งนี้:
<form>
<!-- LOTS OF FIELDS!! -->
<iframe src="file_input_url">
<!-- iframe which loads a page of a form with a file input-->
</iframe>
</form>
และ HTML ที่โหลดลงในiframe
นั้นเป็นสิ่งที่ต้องการ (ไม่รวมhtml
,head
และbody
แท็ก)
<form target="upload_iframe">
<input type="file" onchange="this.form.submit()">
</form>
<iframe name="upload_iframe"></iframe>
วิธีนี้ใช้งานได้ดียกเว้นการโหลดครั้งแรกใช้เวลาสองถึงสามวินาทีiframe
ดังนั้นอินพุตไฟล์จึงไม่โหลดพร้อมกับส่วนที่เหลือของหน้า สิ่งนี้ไม่เหมาะกับสายตา ฉันสามารถแก้ไขได้ถ้าฉันสามารถระบุiframe
เนื้อหาโดยไม่จำเป็นต้องโหลดหน้าอื่น (ระบุไว้file_input_url
ในหน้าแรกiframe
)
มีวิธีระบุiframe
เนื้อหาในเอกสารเดียวกันหรือไม่หรือระบุเฉพาะกับsrc
แอตทริบิวต์โดยต้องโหลดหน้าอื่น