web-dev-qa-db-ja.com

フォームのファイル入力フィールドの値を別のフォームの入力フィールドにコピーする

だから私は2つのフォームがあり、どちらもファイルタイプ入力フィールドがあり、私は試しました

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

しかし、それは正しくコピーされず、firebugはエラーコンソールで「セキュリティエラー」について不平を言います

何が間違っていて、どのようにしてファイル入力フィールドの値を適切にコピーできますか

ちなみに、宛先フォームには、iframe(別のドメインではない)に設定されたターゲットがあります

26
pillarOfLight

あるファイル入力の値を別のファイルに移動することはできません。これはセキュリティ上のリスクです。代わりに、入力を複製し、複製を元の場所に配置し、元を非表示のフォームに移動します。

$(".inputfield1").change(function(){
  var $this = $(this), $clone = $this.clone();
  $this.after($clone).appendTo(hiddenform);
});
36
Kevin B

私はそれが遅い答えであることを知っています、しかし私はちょうど私が今日理解した同じような問題を抱えていました。

私がしたことは、他の場所にある現在の場所を削除した後、ファイル入力を新しい場所に移動することでした。要素を移動することにより、すべてのテストですべてがそのまま残りました。

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