使用javascript将输入插入到表单中

时间:2015-08-23 18:30:41

标签: javascript php jquery

我试图将文件发布到数据库,我首先创建一个空的form,然后尝试使用 javascript 添加input,但我不知道如何链接新创建的input形成然后提交因此php显示没有结果。

<html>
    <head>
    <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
    <title>image upload</title>
    <script>
    function sub()
    {
        var form=document.getElementById('nform');      
        var fil1 = document.createElement("input");
        fil1.setAttribute("type","file");
        fil1.setAttribute("name", "image1");
        fil1.setAttribute("value", document.getElementById('one1').value);
        form.submit();                                              
        return
    }
    </script>
    </head>

    <body>
    <form id="nform" action="http://mydomainname.net/somepost.php"method="post">
    </form>

    <input type='file' id="one1"/>
    <input type="button" onclick="sub();" value="Submit">

    </body>
    </html>

PHP代码:

<?php
$con = mysql_connect("mydomainname.net","489583788","39853953");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("489583788", $con);

echo $_FILES["image1"]["name"];
echo $_FILES["image2"]["name"];
echo $_FILES["image3"]["name"];      

?>

1 个答案:

答案 0 :(得分:0)

您的输入位于表单元素的一侧,不会传递给操作页面。所以你需要将它附加到表单然后提交。使用Node.appendChild()

function sub(){
    var form=document.getElementById('nform');      
    var fil1 = document.createElement("input");
    fil1.setAttribute("type","file");
    fil1.setAttribute("name", "image1");
    fil1.setAttribute("value", document.getElementById('one1').value);
    fil1.setAttribute("style","display:none;");
    form.appendChild(fil1);
    form.submit();                                              
    return
}