javascript - 如何将一个表单的文件上传字段中的值复制到另一个表单的文本字段?

标签 javascript jquery forms

我有一页,上面有两种不同的表格。第一个表单允许用户上传图像文件并通过电子邮件发送,第二个表单根据用户输入生成一个 URL。

为了将图像名称添加到 URL,我需要在第二个表单中有一个字段,该字段从第一个表单中的字段复制图像名称(我宁愿不必让用户浏览并选择图像在一页上两次)。我发现跨表单将数据从一个字段复制到另一个字段的最佳方法是以下 jQuery 代码:http://jsfiddle.net/nA37d/ ,但它不适合我的目的。例如,它从文本字段到文本字段工作得很好,但它不能从文件字段到文本字段,或从文件字段到文件字段。

有没有办法获取表单 1 中文件字段的值并将其复制到表单 2 中的任何类型的字段?这是我的基本代码:

<script type="text/javascript">
$(function(){
    bindGroups();
});

var bindGroups = function() {
    // First copy values
    $("input[name='logotoo']").val($("input[name='logoname']").val());

    // Then bind fields
    $("input[name='logoname']").keyup(function() {
        $("input[name='logotoo']").val($(this).val());
    });
};
</script>


<form action="#..." method="post" enctype="multipart/form-data">
<input type="file" name="logoname" value="1" />
<input type="submit" value="Upload" /></form>


<form name="form2" action="/url/" method="get">
<label>Logo Name</label> <input type="text" name="logotoo" />
<input type="submit" value="Generate URL" /></form>

谢谢你提供的所有帮助!

最佳答案

只需使用 change()输入类型文件的处理程序,而不是 keyup:

http://jsfiddle.net/nA37d/169/

 $("input[name='a1']").change(function() {
        $("input[name='b1']").val($(this).val());
    });

对于输入文件到输入文件,我认为出于安全原因不可能。

顺便说一句,这段代码应该重构。

关于javascript - 如何将一个表单的文件上传字段中的值复制到另一个表单的文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14444865/

相关文章:

javascript - wowjs/animate.css 和隐藏元素

jquery - 如何获取表格字段的值到模态框?

javascript - 在 Chart.js 中使用自定义 x 轴以及月份和年份绘制条形图时出现问题

javascript - 如何防止谷歌浏览器缓存我的输入,尤其是当用户点击返回时隐藏的输入?

javascript - 仅在表单提交后显示错误消息

javascript - 使用 load 方法发送表单后隐藏提交按钮

php - 如何在 PHP 或 Javascript 中设置技术测验的超时时间

javascript - jquery prop() 立即(重点?)

javascript - 这个函数与按钮循环的原因是什么?

javascript - 为什么 Edge 中的 sessionStorage 与 Firefox/Chrome 不同,我该如何更改?