2012-03-11 3 views
0

Как я могу клонировать атрибут значения поля ввода файла. Что-то вроде этого:Как входной файл значения клона

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

похоже, что он должен работать, в чем проблема? – Fresheyeball

+0

Вы надеялись получить доступ к полному пути к файлу, выбранному пользователем? Если это так, я уверен, что вы не сможете. –

+0

[Исключение ... «Ошибка безопасности»: «1000» nsresult: «0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)» местоположение: «http: //local/js/jquery-1.7.1.min.js Строка: 2»] {конструктор = DOMException, filename = "http: //local/js/jquery-1.7.1.min.js", code = 1000, more ...} –

ответ

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». –

+0

+3

Это не работает. Он, похоже, клонируется, но когда форма отправляется, второй вход файла пуст. –

1

Если Вы желаете, чтобы они оставались так же, когда пользователь взаимодействует с ними:

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

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

    }).blur(); 
}); 

Инициирование размывание() на странице загрузки будет делать то же самое, как код вы уже у

EDIT Просто понял, эти файловые поля ... ограничения безопасности браузера, что вы можете сделать с ними

+0

Это не работает, см. комментарии выше –

+0

прочитайте мой отредактированный отказ от ответственности – charlietfl