Javascript 动态添加输入元素以形成并将值存储在数据库中

Javascript 动态添加输入元素以形成并将值存储在数据库中,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我必须制作一个表单,创建一个按钮,点击它就会出现一个动态文本字段 我的javascript是: function add() { //Create an input type dynamically. var element = document.createElement("input"); element.style.borderRadius ="5px"; //Assign different attributes to the element.

我必须制作一个表单,创建一个按钮,点击它就会出现一个动态文本字段

我的javascript是:

function add() {

    //Create an input type dynamically.
    var element = document.createElement("input");
    element.style.borderRadius ="5px";
    //Assign different attributes to the element.
    element.setAttribute("type", "text");
    element.setAttribute("value", "ip2");
    element.setAttribute("name", "ip2");
    element.setAttribute("placeholder", "ip2"); 
    element.setAttribute("required", "true");
    var foo = document.getElementById("fooBar");

    //Append the element in page (in span).
    foo.appendChild(element);

}
我对按钮和所需容器使用以下代码:

<form method="post" action="insert.php">
<INPUT type="button" value="Add" onclick="add(document.forms[0].element.value)"/>

<span id="fooBar"></span>
</form>

输入字段很好。我只想知道如何从动态输入字段中获取值并将其存储在db中


提前感谢

一旦fiels添加到fooBar,它就在表单中了。如果您通过提交按钮(参见下面的HTML代码)或通过javascript
document.getElementById(“myForm”).submit()提交表单您必须使用服务器上的脚本(例如,使用PHP)处理发送到服务器的结果

echo '<pre>';
print_r( $_POST ); /* Show ALL given $_POST input */
echo '</pre>';
error_reporting(0);
$conn = mysqli_connect("localhost","root","","pnb");
if( !$conn ) {
    die('Could not connect to MySQL: ' . mysqli_error() );
}

if( isset( $_POST['ip2'] ) AND !empty( $_POST['ip2'] ) ) {
    $ip2 = $_POST['ip2'];
    mysqli_query( $conn, 'INSERT INTO records (ip) VALUES ("' . mysqli_real_escape_string( $conn, $ip2 ) . '")' );
    echo 'Row added!';
}
mysqli_close( $conn );
echo';
打印($邮政);/*显示所有给定的$\u POST输入*/
回声';
错误报告(0);
$conn=mysqli_connect(“localhost”、“root”、“pnb”);
如果(!$conn){
die('无法连接到MySQL:'.mysqli_error());
}
if(设置($_POST['ip2'])和!空($_POST['ip2'])){
$ip2=$_POST['ip2'];
mysqli_查询($conn,'插入记录(ip)值('.mysqli_real_escape_字符串($conn,$ip2)。');
echo“添加了行!”;
}
mysqli_close($conn);
HTML代码:

if(isset($_POST['foo'])) {

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$item = $_POST['foo']

$sql = "INSERT INTO thetable (item)
VALUES ('$item')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

}
?>

函数add(){
//动态创建输入类型。
var元素=document.createElement(“输入”);
element.style.borderRadius=“5px”;
//为元素指定不同的属性。
setAttribute(“类型”、“文本”);
setAttribute(“值”、“ip2”);
setAttribute(“名称”、“ip2”);
setAttribute(“占位符”、“ip2”);
元素setAttribute(“必需”、“真”);
var foo=document.getElementById(“fooBar”);
//在页面中追加元素(在span中)。
foo.appendChild(元素);
}
注意:
document.forms[0].element.value不存在,因此我从上面的代码中删除了它。我还添加了一个提交按钮,将表单提交到服务器上的
insert.php
脚本


上面的脚本将检查是否收到名为“ip2”的post包。它将设置到数据库的MySQLi连接,并在表“tablename”中插入值。上面的代码应该放在
insert.php

中,一旦fiels被添加到fooBar中,它就在表单中。如果您通过提交按钮(参见下面的HTML代码)或通过javascript
document.getElementById(“myForm”).submit()提交表单您必须使用服务器上的脚本(例如,使用PHP)处理发送到服务器的结果

echo '<pre>';
print_r( $_POST ); /* Show ALL given $_POST input */
echo '</pre>';
error_reporting(0);
$conn = mysqli_connect("localhost","root","","pnb");
if( !$conn ) {
    die('Could not connect to MySQL: ' . mysqli_error() );
}

if( isset( $_POST['ip2'] ) AND !empty( $_POST['ip2'] ) ) {
    $ip2 = $_POST['ip2'];
    mysqli_query( $conn, 'INSERT INTO records (ip) VALUES ("' . mysqli_real_escape_string( $conn, $ip2 ) . '")' );
    echo 'Row added!';
}
mysqli_close( $conn );
echo';
打印($邮政);/*显示所有给定的$\u POST输入*/
回声';
错误报告(0);
$conn=mysqli_connect(“localhost”、“root”、“pnb”);
如果(!$conn){
die('无法连接到MySQL:'.mysqli_error());
}
if(设置($_POST['ip2'])和!空($_POST['ip2'])){
$ip2=$_POST['ip2'];
mysqli_查询($conn,'插入记录(ip)值('.mysqli_real_escape_字符串($conn,$ip2)。');
echo“添加了行!”;
}
mysqli_close($conn);
HTML代码:

if(isset($_POST['foo'])) {

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$item = $_POST['foo']

$sql = "INSERT INTO thetable (item)
VALUES ('$item')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

}
?>

函数add(){
//动态创建输入类型。
var元素=document.createElement(“输入”);
element.style.borderRadius=“5px”;
//为元素指定不同的属性。
setAttribute(“类型”、“文本”);
setAttribute(“值”、“ip2”);
setAttribute(“名称”、“ip2”);
setAttribute(“占位符”、“ip2”);
元素setAttribute(“必需”、“真”);
var foo=document.getElementById(“fooBar”);
//在页面中追加元素(在span中)。
foo.appendChild(元素);
}
注意:
document.forms[0].element.value不存在,因此我从上面的代码中删除了它。我还添加了一个提交按钮,将表单提交到服务器上的
insert.php
脚本

上面的脚本将检查是否收到名为“ip2”的post包。它将设置到数据库的MySQLi连接,并在表“tablename”中插入值。上述代码应放在
insert.php
php中:
<form action="" method="post">
    <input type="text" name="foo" value="foo">
    <input type="submit" value="Submit">
</form>
if(isset($\u POST['foo'])){
$servername=“localhost”;
$username=“username”;
$password=“password”;
$dbname=“myDB”;
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
} 
$item=$\u POST['foo']
$sql=“插入表格(项目)
值(“$item”)”;
if($conn->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“Error:”.$sql.“
”$conn->Error; } $conn->close(); } ?>
HTML:


此外,如果您以外部文件为目标,则应将表单上的
操作
attr更新为文件的url,例如
action=“target.php”
php:
<form action="" method="post">
    <input type="text" name="foo" value="foo">
    <input type="submit" value="Submit">
</form>
if(isset($\u POST['foo'])){
$servername=“localhost”;
$username=“username”;
$password=“password”;
$dbname=“myDB”;
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
} 
$item=$\u POST['foo']
$sql=“插入表格(项目)
值(“$item”)”;
if($conn->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“Error:”.$sql.“
”$conn->Error; } $conn->close(); } ?>
HTML:



此外,如果您以外部文件为目标,则应将表单上的
action
attr更新为文件的url,例如
action=“target.php”

您可以简单地提交表单,并在后端使用php通过
名称
attr以值为目标,或者您可以使用js通过
id
获取值,并执行ajax请求。你有工作数据库连接的代码吗?将其存储在数据库中?你的意思是把它送到一家商店