2

ファイル入力要素を持つフォームがあり、ユーザーがファイルを選択すると、選択したファイルを非表示の iframe にある別のファイル入力に設定したい、

これは私のフォームです:

<form name="uploadForm" >
    <input type="file" id="fileone" name="fileone" value="" />
    <button type="button" id="attachement_upload" onclick="addFile()" >Upload</button>
</form>
<iframe id="FileUploadFrame" name="FileUploadFrame" src="" style="display: none; border: 0; width: 0; height: 0;">
    <form id="FileUploadForm" name="FileUploadForm" accept-charset="utf-8" target="FileUploadFrame" enctype="multipart/form-data" encoding="multipart/form-data" method="POST" action="CIMtrek_Regional_WhseForm_FileUpload">
        <input type="file" id="filetwo" name="filetwo" value="" />
    </form>
</iframe>

そして私のJavaスクリプト:

function addFile(){
    //this is where i want to clone the fileone to filetwo and submit the form which is in iframe
}

私はこのようなものを見たことがありますが、実際にはどうすればよいかわかりません:

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

これを成し遂げるのを手伝ってください。

4

1 に答える 1

3

これを行うことはできません (または行うべきではありません)。入力タイプはfile、ユーザーのファイル システムに直接アクセスできるため、特別なセキュリティ制限があります。最も注目すべきは、JavaScript で入力の を設定することはできません。これにより、ユーザーが気付かないうちvalueに、file入力を次のように設定したり~/.ssh/id_rsa、重要なデータを盗んだりすることが可能になるためです。結果として、file値を設定できないため、jQuery は入力を複製できないはずです。

これを機能させるには、ユーザーが にあるfile入力をクリックできるiframeようにする必要があります。おそらく、いくつかの CSS ポジショニング トリックを使用して、ページの一部に見えるようにします。あるいは、ユーザーが一般的に最新のブラウザーを使用している場合は、File APIを使用して Ajax でファイルをアップロードできます

于 2013-02-08T13:21:05.590 に答える