0

私が抱えている問題はvar myFileList = document.getElementById('upload_file').files;、PHPファイルによって「動的に作成」された情報を取得しようとすると、ファイルを取得できず、コード内でそれ以上実行されないことです。ただし、HTML ページ内に同じテーブルを作成し、フォームをテーブルに追加すると、コードは完全に機能します。

要約すると、表は PHP からのものであるため、フォームは機能しません。

フォームが作成される PHP の私の列は、次のappendChildように行われます。

$display_String .= '<td><div id = "image'.$f1.'"></div></td>';

フォームを作成する JavaScript は次のとおりです。

    var f = document.createElement("form");
f.setAttribute('enctype',"multipart/form-data");
f.setAttribute('method',"post");
f.setAttribute('action',"uploadImage.php");


var i = document.createElement("input"); //input element, text
i.setAttribute('type',"file");
i.setAttribute('name',"upload_file");
i.setAttribute('id',"upload_file");
i.setAttribute('size',4);

f.appendChild(i);
document.getElementById("image1").appendChild(f);

「image1」はphpテーブルのdivの名前です。先ほど言ったように、このようにhtmlファイル内に静的にテーブルを作成すると正常に動作します

    <table>
    <tr>
        <td>test </td>
        <td> bah </td>
    </tr>
    <tr>  
        <td> <div id ="image1">  </div> </td>
        <td> col2</td>
    </tr>
    <tr>  
        <td></td>
        <td> col2 </td>
    </tr>
    </table>

とてもシンプルなものになることはわかっていますが、これにはJQueryを使用できません。

4

1 に答える 1

0

ドキュメントがロードされたときに実行される関数に入れてみてください。

document.onload = doYourThing();

function doYourThing() {
    //Your code here
}
于 2013-04-12T19:20:47.783 に答える