HTML:将表单字段复制到另一个表单(包括文件输入字段)?

2024-05-13

我发现出于安全原因,无法使用 javascript 设置表单文件输入字段值。

我只想将文件输入复制到另一个表单并将其发布,我搜索了解决方法但找不到任何内容,这可能吗?

更新:我的代码:

function prepareUpload( filevalue ){

document.getElementById('logo').value =filevalue;
var mform = document.getElementById('sleeker');
    ajaxUpload( mform,'<?php echo base_url(); ?>'); // a methods to upload...
}

<input class="input-file-upload" type="file" size="20" name="logodummy" id="logodummy" onchange="prepareUpload( this.value );" />

<form action="" method="post" name="sleeker" id="sleeker" enctype="multipart/form-data" onbeforesubmit="return false;">
            <p><input type="hidden" name="logo" id="logo" /></p>
        </form>

除了文件输入之外的任何内容都工作正常,我可以使用 $_POST 接收,但 $_FILES 没有值。这段代码单独工作也很好。我觉得这个coe就够了?


是的,您可以将<input type="file">在 HTML 表单之外,然后使用onChange事件来填充<input type="hidden">在发布的表格中:

<input type="file" 
       onchange="document.getElementById('hidden_file').value = this.value;" />

<form method="POST">
    <input type="hidden" id="hidden_file" value="" />
    <input type="submit" />
</form>

但是在现代浏览器中,您只能访问文件名,而不能访问完整路径。您可能需要查看以下 Stack Overflow 帖子以获取有关此主题的更多信息:

  • 上传文件时无法获取完整地址 https://stackoverflow.com/questions/1676035/cant-get-the-complete-address-while-uploading-a-file
  • 如何在 Firefox 3 中从 HTML 输入表单获取文件路径 https://stackoverflow.com/questions/81180/how-to-get-the-file-path-from-html-input-form-in-firefox-3

UPDATE:

最初的问题让我认为你只需要复制“文件名”到另一个HTML表单,而不是整个<input type="file">表示。

除了更新之外,我认为您的意思是这样的:

<input type="file" 
       onchange="document.getElementById('hidden_file').value = this.value;" />

<form method="POST">
    <input type="file" id="hidden_file" value="" />
    <input type="submit" />
</form>

不幸的是,上面的方法不起作用。火狐将回归"Security error code: 1000"如果你尝试上面的例子。

至于一些解决方法,您可能需要检查大卫·多沃德 https://stackoverflow.com/users/19068/david-dorward的建议:

  • Using cloneNode https://stackoverflow.com/questions/2220120/html-copy-form-fields-to-another-form-including-file-input-field/2221786#2221786
  • 移动输入字段appendChild提交表格之前 https://stackoverflow.com/questions/2220120/html-copy-form-fields-to-another-form-including-file-input-field/2221756#2221756
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML:将表单字段复制到另一个表单(包括文件输入字段)? 的相关文章

随机推荐

  • ggplot2 中的小时刻度

    我正在处理就寝时间和醒来时间 因此我想创建一个具有 24 小时 x 轴的图表 从第一天中午 12 点开始 到第二天中午 12 点结束 这意味着晚上 11 59 之后 它应该再次从 0 开始 同样的问题 仅涉及数字 我想创建一个从 10 到
  • Windows Phone 后台任务过早停止

    我正在开发一个 WP8 1 SL 应用程序 它使用后台任务 不是代理 我的任务由 TimerTrigger 触发 每 30 分钟一次 我相信这是 Windows Phone 的最小间隔 对吧 它正在做很多工作 并且由于某种原因 有时它会被中
  • GoQt 致命错误:QAbstractAnimation:没有这样的文件或目录

    我尝试编译 Qt 来开发桌面应用程序 我按照 Qt 网站上的官方 wiki 指南的说明进行操作 当我尝试go run示例文件夹中的示例 我收到错误 去运行 home pinkya rabbit workspace go1programs s
  • 在python中组合2个列表

    我有 2 个列表 每个列表大小相同 并且有兴趣将这两个列表组合起来并将其写入文件中 alist 1 2 3 5 blist 2 3 4 5 结果列表应该是这样的 1 2 2 3 3 4 5 5 之后我希望将其写入文件 我怎样才能做到这一点
  • 使用 Swift 3 和 Realm 同步 Apple Watch 和 iPhone

    我需要从 Apple Watch 和 iPhone 显示和修改我的数据结构 数据库 我目前正在使用一个简单的领域结构 其中有一个对象 A 和一个可以容纳大量 A 的对象 B 因此 在 iPhone 上 用户可以创建 B 并添加 A 当然还可
  • 带 NestedScrollview 的 RefreshIndicator

    我想要 2 个带有 ListView 的选项卡页共享一个 RefreshIndicator 但是 RefreshIndicator 必须具有 Scrollable 作为子级 TabBarView 则不然 因此我尝试为每个选项卡创建 2 个
  • C# 'if' 绑定值

    我有一个列表视图 由名为 Binding 的类填充House 这是我的代码的示例
  • 打开对话框时,Material-UI 会向 body 标记添加填充

    我在我的 React 应用程序中使用 Material UI 最近 我将我的软件包更新到了 最新版本 现在 当我在应用程序中打开一个对话框时 padding right 17px 将被添加到 body 标签中 我还检查了 Material
  • 在 iOS 中,http 204 响应返回空白页面,有办法阻止这种情况吗?

    以前可能有人问过这个问题 但我似乎找不到解决方案 所以如果是这种情况 我深表歉意 我正在开发一个使用express的简单节点应用程序 其中一个帖子路由返回 http 204 并发送它 下面是我的代码 router post id funct
  • com.netflix.zuul.exception.ZuulException:Hystrix 读取超时

    我正在尝试使用 eureka 和 zuul 进行微服务 而且所有请求都有问题 耗时超过1秒 据我了解 1秒是默认的hystrix超时 为了在Zuul中配置超时 我必须配置这些属性 hystrix command default execut
  • 通过托管环境进行自托管

    我正在尝试通过以下方式将 ASP NET Core NET 4 6 1 应用程序作为自托管运行网络监听器 https docs asp net en latest fundamentals servers html weblistener
  • NSString 上的 stringWithFormat 与 initWithFormat

    我想知道以这种方式声明 NSString 有什么区别 例如缺点和 或优点 NSString noInit NSString stringWithFormat lolcatz d i 与以下相反 NSString withInit NSStr
  • 如何向离子推送通知添加操作按钮?

    我想向离子推送通知添加一些操作按钮 我正在使用科尔多瓦pushv5 通知工作正常 但我不知道如何添加这些按钮 如何添加这些按钮 应在 POST 请求中添加操作按钮 registration ids my device id data tit
  • 无法在 WSL2 上运行 OpenGL

    我尝试在 WSL2 上运行 OpenGL 代码 但在尝试运行可执行文件时出现以下错误 GLFW error 65543 GLX Failed to create context GLXBadFBConfig Unable to create
  • 当 config.cache_classes = true 时缺少方法

    我有两个名为 Scope 和 ScopeItem 的 ActiveRecord 模型 具有 has many 关系 class Scope lt ActiveRecord Base has many scope items end clas
  • 如何从命令行向 REPL 添加导入?

    如何使 REPL 导入命令行中给出的包 Sample scala someMagicHere import sys error scala gt imports 1 import scala Predef 162 terms 78 are
  • 使用异步/等待返回值意外获取 API [重复]

    这个问题在这里已经有答案了 这是函数 const getUserIP async gt let response await fetch https jsonip com let json await response json conso
  • 如何在可能为空值的字段上创建唯一索引(Oracle 11g)?

    这是包含 3 列的示例表 ID UNIQUE VALUE UNIQUE GROUP ID 我希望可以允许以下记录 1 NULL NULL 2 NULL NULL or 3 NULL 7 4 123 7 or 注意 此条件不允许unique
  • Sybase 中神秘的“时间戳”数据类型是什么?

    我最近在工作中发现 Sybase 数据库中的一个表使用 时间戳 类型的列 如果我使用这种神秘的时间戳数据类型创建一个表 如下所示 create table dropme foo timestamp roo int null insert i
  • HTML:将表单字段复制到另一个表单(包括文件输入字段)?

    我发现出于安全原因 无法使用 javascript 设置表单文件输入字段值 我只想将文件输入复制到另一个表单并将其发布 我搜索了解决方法但找不到任何内容 这可能吗 更新 我的代码 function prepareUpload fileval