0

私は ajax アップロード スクリプトを作成するために次のコードを使用しています。私の現在のタスクは、jquery を使用してオンザフライでフォームを作成することです。

<script src="http://code.jquery.com/jquery-latest.js"></script>

<input id="files" name="file" type="file" value=""/>


<script>
$(document).ready(function () {

    $('#files').live('change', function () {
        var formId = 'jUploadForm';
        var form = $('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
        var oldElement = $('#files');
        var newElement = $(oldElement).clone();


        $(oldElement).attr('id', 'files');
        $(oldElement).before(newElement);

        alert('fffffff');
        //alert(projectid);
        //return false;
        $(oldElement).appendTo(form);
    });
});
</script>

上記のコードのエラーは、選択したファイル値の前に使用して newElement を追加した後、参照ボタンから選択したものがクローン ファイル タイプに存在するが、元のファイル タイプから削除されることを意味します。上記の問題は chrome と IE でのみ発生しています。mozilla では問題なく動作しています。助けてください

4

1 に答える 1

1

まだDOMに追加していないため、oldElement前に置くことはできません。newElementnewElement

同様に、DOM にも追加されていないため、 に追加oldElementすることはできません。formform

との両方newElementformドキュメントに追加してから、それらに関連する操作を行う必要があります。

$(oldElement).attr('id', 'files');最後に、の ID がoldElement既にである ため、実行時に何もしていませんfiles

于 2012-06-12T14:56:49.077 に答える