所以我有两个表单,都有一个文件类型输入字段,我试过
$('.inputfield1').change(function(){
var file = $(this).val();
$('.inputfield2').val(file);
});
但是它没有被正确复制,并且firebug在错误控制台中抱怨“安全错误”
我做错了什么以及如何正确复制文件输入字段的值
顺便说一下,目标表单有一个设置为iframe的目标(不是一个不同的域)
答案 0 :(得分:35)
您无法将一个文件输入的值移动到另一个文件,这是一个安全风险。而是克隆输入,将克隆放在原始位置,然后将原始内容移动到隐藏的表单中。
$(".inputfield1").change(function(){
var $this = $(this), $clone = $this.clone();
$this.after($clone).appendTo(hiddenform);
});
答案 1 :(得分:1)
我知道这是一个迟到的答案,但我遇到了类似的问题,我今天才知道。
我所做的是在删除其他位置的当前输入后将文件输入移动到新位置。通过移动元素,在我的所有测试中,一切都保持不变。
$('.inputfield1').change(function() {
$('.otherinputfield').remove();
$('#newform').append($(this));
});