我试图发布一个文件到数据库,我首先创建了一个空的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
}