动态创建输入(type =“file”)和表单元素

时间:2014-05-18 17:46:11

标签: javascript php html

慢慢开始我的应用程序,因为我还在学习,我遇到了另一个问题。

我用JS生成了一个表单,一个文件输入和一个提交输入,以便上传一些照片并用.php文件显示他们的thumnails。我有这个代码。我提到这是级联菜单的一部分。

当我尝试上传照片时,我收到此错误:"未捕获的TypeError:无法设置属性'值' of null"在.php文件中。

我还想提一下,如果没有生成HTML元素并且它们在纯HTML中存在,那么相同的php脚本也能正常工作。

我知道这个php脚本不完整,但这仅用于测试目的。

JS

var form = document.createElement("FORM");
    second_plate.appendChild(form);
    form.setAttribute("id" , "form");
    form.setAttribute("action" , "upload.php");
    form.setAttribute("method" , "post");
    form.setAttribute("enctype" , "multipart/form-data");
    form.setAttribute("target" , "iframe");
    console.log(form);

    var inputpic = document.createElement("INPUT");
    form.appendChild(inputpic);
    inputpic.setAttribute("type" , "file");
    inputpic.setAttribute("name" , "file");
    inputpic.setAttribute("id" , "file");


    var submitpic = document.createElement("INPUT");
    form.appendChild(submitpic);
    submitpic.setAttribute("id" , "submit");
    submitpic.setAttribute("name" , "submit");
    submitpic.setAttribute("type" , "submit");
    submitpic.setAttribute("value" , "Upload photo");

    var photosplace = document.createElement("DIV");
    second_plate.appendChild(photosplace);
    photosplace.setAttribute("id" , "photos");

    var iframe = document.createElement("IFRAME");
    second_plate.appendChild(iframe);
    iframe.setAttribute("id" , "iframe");   
    iframe.setAttribute("name" , "iframe");
    iframe.style.width = "0%";  
    iframe.style.height = "0%"; 
    iframe.style.display = "none";  

PHP

<?php

        if ($_FILES['file']['size'] > 0) {

            if (move_uploaded_file($_FILES['file']['tmp_name'], uploads/".$_FILES['file']"name"])) {

                ?>
                <script>
                    document.getElementById("file").value = "";
                    updatepic("<?php echo 'uploads/'.$_FILES['file']["name"]; ?>");             
                </script>
                <?php
            }
        }


?>

0 个答案:

没有答案