通过javascript / ajax php在动态创建的表中创建表单时出错

时间:2013-04-12 19:12:39

标签: javascript php forms file html-table

当我尝试获取我的PHP文件“动态创建”的信息时,我遇到的问题是var myFileList = document.getElementById('upload_file').files;没有获取文件而在代码中没有进一步执行。但是,如果我在HTML页面中创建相同的表并将表单附加到表中,则代码运行正常。

总结:因为该表来自PHP,所以表单不起作用。

表单将appendChild表示的PHP中的col是这样的:

$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。

1 个答案:

答案 0 :(得分:0)

尝试将其放入加载文档时执行的函数中。

document.onload = doYourThing();

function doYourThing() {
    //Your code here
}