2012-03-11 60 views
0

如何克隆文件输入字段的值属性。 事情是这样的:如何克隆值输入文件

<input type="file" id="field1"/> 
<input type="file" id="field2"/> 
<script> 
$('#field2').val($('#field1').val()); 
</script> 
+0

看起来应该工作,这是什么问题? – Fresheyeball 2012-03-11 19:59:18

+0

您是否希望访问用户所选文件的完整路径?如果是这样,我敢肯定你将无法做到。 – 2012-03-11 20:01:48

+0

[Exception ...“Security error”code:“1000”nsresult:“0x805303e8(NS_ERROR_DOM_SECURITY_ERR)”location:“http://local/js/jquery-1.7.1.min.js Line:2”] {constructor = DOMException,文件名=“http://local/js/jquery-1.7.1.min.js”,代码= 1000,更多...} – 2012-03-11 20:11:35

回答

2

我发现这个问题的解决方案:

<input type="file" id="field1"/> 
<span id="field2_area"><input type="file" id="field2"/></span> 
<script> 
$('#field1').change(function(){ 
    var clone = $(this).clone(); 
    clone.attr('id', 'field2'); 
    $('#field2_area').html(clone); 
}); 
</script> 
+1

可以请你告诉我从“field1_area”到哪里。 – 2014-01-02 10:43:47

+0

2014-05-08 11:13:30

+3

这不起作用。它似乎克隆,但当表单提交时,第二个文件输入是空的。 – 2015-08-20 16:08:36

1

如果你要他们保持不变,当用户与之交互:

$(function(){ 
    $('#field1').on('keyup blur', function(){ 

      $('#field2').val($(this).val()); 

    }).blur(); 
}); 

触发页面加载模糊()将已做一样的代码你已经

编辑刚刚意识到这些文件中的字段...浏览器的安全限制你可以与他们无关

+0

这不行,请参阅上述评论 – 2012-03-11 20:16:33

+0

阅读我已编辑的免责声明 – charlietfl 2012-03-11 20:22:27