javascript - 如何将文件输入克隆到隐藏 iframe 中的另一个文件输入

标签 javascript jquery html file

我有一个带有文件输入元素的表单,当用户选择文件时,我想将所选文件设置为隐藏 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 APIupload the file with Ajax .

关于javascript - 如何将文件输入克隆到隐藏 iframe 中的另一个文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772947/

相关文章:

html - 移动平台上 Bootstrap 顶部的右栏

javascript - 如何使用nodejs构建从nodejs脚本输出的json文件?

php - jQuery 501 错误(不支持的方法 ('POST' ))

javascript - AngularJS 选择下拉菜单不是按要求的红色

javascript - 为什么我的 HTML5 mp4 视频的 Flash 后备功能不起作用?

javascript - 切换图标框架7

javascript - evaluateJavaScript() 只工作一次

javascript - 如何使用 javascript 通过输入值加载声音?

javascript - 主干网获取相关模型

javascript - window.open 页面加载