我有一个带有文件输入元素的表单,当用户选择文件时,我想将所选文件设置为隐藏 iframe 中的另一个文件输入,
这就是我的形式:
<form name="uploadForm" >
<input type="file" id="fileone" name="fileone" value="" />
<button type="button" id="attachement_upload" onclick="addFile()" >Upload</button>
</form>
<iframe id="FileUploadFrame" name="FileUploadFrame" src="" style="display: none; border: 0; width: 0; height: 0;">
<form id="FileUploadForm" name="FileUploadForm" accept-charset="utf-8" target="FileUploadFrame" enctype="multipart/form-data" encoding="multipart/form-data" method="POST" action="CIMtrek_Regional_WhseForm_FileUpload">
<input type="file" id="filetwo" name="filetwo" value="" />
</form>
</iframe>
和我的java脚本:
function addFile(){
//this is where i want to clone the fileone to filetwo and submit the form which is in iframe
}
我见过这样的事情,但真的不知道该怎么做:
$(".inputfield1").change(function(){
var $this = $(this), $clone = $this.clone();
$this.after(clone).appendTo(hiddenform);
});
请帮我完成这件事。
最佳答案
您不能(或不应该)执行此操作。由于file
输入类型可以直接访问用户的文件系统,因此具有特殊的安全限制。最值得注意的是,您无法在 JavaScript 中设置 file
输入的 value
,因为这将允许您执行诸如将其设置为 ~/.ssh/之类的操作id_rsa
并在用户不知情的情况下窃取重要数据。因此,jQuery 不应该能够克隆 file
输入,因为它无法设置值。
要使其正常工作,您必须让用户单击 iframe
中的 file
输入,或许可以使用一些 CSS 定位技巧来实现似乎是页面的一部分。或者,如果您的用户通常拥有更现代的浏览器,您可以使用 File API和 upload the file with Ajax .
关于javascript - 如何将文件输入克隆到隐藏 iframe 中的另一个文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772947/