copie de la valeur du champ de saisie fichier d'un formulaire dans le champ de saisie d'un autre formulaire

J'ai donc deux formes, les deux ont un champ de saisie de type de fichier et j'ai essayé

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

Mais alors il n'est pas copié correctement et firebug se plaint de "Erreur de sécurité" dans la console d'erreur

Qu'est-ce que j'ai fait de mal et comment puis-je copier correctement la valeur d'un champ de saisie de fichier

En passant, le formulaire de destination a une cible qui est définie sur un iframe (pas un domaine différent)

25
demandé sur pillarOfLight 2012-01-17 20:22:45

2 réponses

Vous ne pouvez pas déplacer la valeur d'une entrée de fichier vers une autre, c'est un risque de sécurité. Au lieu de cela, clonez l'entrée, placez le clone où se trouve l'original et déplacez l'original dans la forme cachée.

$(".inputfield1").change(function(){
  var $this = $(this), $clone = $this.clone();
  $this.after($clone).appendTo(hiddenform);
});
34
répondu Kevin B 2013-06-19 17:06:22

Je sais que c'est une réponse tardive, mais j'ai eu un problème similaire que je viens de comprendre aujourd'hui.

Ce que j'ai fait était de déplacer l'entrée du fichier vers le nouvel emplacement après avoir supprimé l'entrée actuelle dans l'autre emplacement. En déplaçant l'élément, tout est resté intact sur tous mes tests.

$('.inputfield1').change(function() {
  $('.otherinputfield').remove();
  $('#newform').append($(this));
});
1
répondu Adrian Stride 2014-10-14 21:24:35