使用javascript向表单插入输入


insert input to form using javascript

我试图发布一个文件到数据库,我首先创建了一个空的form,然后试图添加input使用javascript,但我不知道如何链接新创建的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"];      
?>

你的输入是在表单元素的外面,它不会被传递到动作页面。因此,您需要将其附加到表单中,然后提交。使用 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
}