通过编程方式在iframe中选择一个输入类型的文件,然后上传会给出Access is denied错误
javascript Programmatically select a file in Input type file inside a iframe and upload gives Access is denied error
我在主页里面有一个iframe。当在iframe中单击按钮(在form1中)时,它会进行AJAX调用,响应html将是表单(例如form2)中的输入类型文件和输入类型按钮,响应将放在div中以在正常屏幕上显示为弹出窗口。使用输入类型文件,用户可以选择一个文件,当按钮被单击时,它将调用一个函数来提交表单,文件将被上传到服务器。
要求以编程方式单击输入类型文件并显示文件打开对话框。当用户选择一个文件时,我们需要以编程方式单击按钮以提交到服务器。
我尝试在AJAX响应填充后通过javascript从主页以编程方式单击输入类型文件。用户可以选择文件,但是通过编程方式点击该按钮会导致IE出现"拒绝访问"错误。
不使用任何js库。我需要使用任何额外的库来实现这一点吗?
要求以编程方式单击输入类型文件并显示文件打开对话框。
此要求不能可靠地满足。有些浏览器会在input type="file"
上响应click()
,有些则不会,有些浏览器(IE)表面上允许,但实际上拒绝提交表单。
没有解决办法,也没有库可以避免这种限制——除非使用一些非html的方式上传文件,比如Flash或Java。
更重要的是,在HTML标准中甚至没有要求是文件打开对话框。这是特定于浏览器和操作系统的接口细节。Windows桌面浏览器以外的其他平台可能有其他提交文件的机制,比如拖放。你不能在这个级别与文件上传字段进行有意义的交互。
当用户选择一个文件时,我们需要通过编程方式点击按钮提交给服务器。
这是可行的。捕捉change
事件:
<form method="post" action="..." enctype="multipart/form-data">
<input type="file" id="f"/>
</form>
document.getElementById('f').onchange= function() {
if (this.value!=='')
this.form.submit();
};
相关文章:
- Javascript运行php文件,然后下载文件
- javascript:发送带有音频文件的POST,然后重定向到新页面
- 多个下载链接到一个zip文件,然后再下载javascript
- 文件上传:检查文件格式,然后调用srvlet
- 先在Angular中加载配置文件,然后再加载其他文件
- 加载文件,然后调用回调函数
- 如何获取XML值,然后使用javascript将它们输出到htm文件中
- 如何通过URL下载文件,然后获取其名称
- 更改音频速度,然后另存为新文件
- 通过 AJAX 调用 PHP 文件,将 $_GET 变量传递到 MySQL 查询中,然后回显到响应中
- 将图像输出到浏览器,然后再将其保存到文件夹
- 需要一个文件,然后使用一个函数,而不显式地将所需文件用作命名空间
- 如何将javascript文件插入到iframe中,然后调用插入的javascript中的函数
- 使用load()加载外部文件,然后使用fancybox插件进行修改并显示
- 如何使用 Response 类创建要下载的文件,然后与客户端交互
- JQuery启动文件下载,然后运行一个函数
- php检测浏览器窗口宽度,然后包括适当的php文件
- 方法来查看jQuery文件是否已完全加载,然后执行与其相关的函数
- 使用JavaScript,我可以上传一个word文件并使用.replaces然后另存为新文档吗
- Gulp-Concat文件的顺序然后是任何其他的js文件