копирование значения поля ввода файла формы в поле ввода другой формы - PullRequest
25 голосов
/ 17 января 2012

Итак, у меня есть две формы, обе имеют поле ввода типа файла, и я попытался

$('.inputfield1').change(function(){
   var file = $(this).val();
   $('.inputfield2').val(file);
});

, но затем он не копируется должным образом, и firebug жалуется на «Ошибка безопасности» в консоли ошибок

что я сделал не так и как я могу правильно скопировать значение поля ввода файла

, кстати, у формы назначения есть цель, которая установлена ​​в iframe (не другой домен))

Ответы [ 2 ]

35 голосов
/ 17 января 2012

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

$(".inputfield1").change(function(){
  var $this = $(this), $clone = $this.clone();
  $this.after($clone).appendTo(hiddenform);
});
1 голос
/ 15 октября 2014

Я знаю, что это поздний ответ, но у меня была похожая проблема, о которой я только что узнал сегодня.

Что я сделал, так это переместил ввод файла в новое место после удаления текущего в другомместо нахождения.Перемещая элемент, все осталось без изменений во всех моих тестах.

$('.inputfield1').change(function() {
  $('.otherinputfield').remove();
  $('#newform').append($(this));
});
...