只需使用:
name="item[]"
的项目#'
和
name="description[]"
<input type="text" name="item[]" /><input type="text" name="description[]" />
对于项目descripti在现场和你的服务器端迭代通过它们。前端的 只需创建一个复制该节点多次的脚本。
编辑
根据你表明,它应该类似于下面的代码的东西代码:
if(isset($_POST['item']){
for($i = 0; $i < count($_POST['item']); $i++){
$number = $_POST['item'][$i];
$description= $_POST['description'][$i];
if ($stmt = $mysqli->prepare("INSERT items (number, description) VALUES (?, ?)"))
{
$stmt->bind_param("ss", $number, $description);
$stmt->execute();
$stmt->close();
}
}
在JavaScript做象下面这样:
function addRow(){
document.getELementById('container').el.innerHTML += '<input type="text" name="item[]" /><input type="text" name="description[]" />' ;
}
HTML代码:
<form name='myform' >
<div id="container">
<input type="text" name="item[]" /><input type="text" name="description[]" />
</div>
<p onclick="addRow() ;" >Add another item</p>
</form>
我希望这有助于。
UPDATE
试试这个:
if(isset($_POST['item']){
if ($stmt = $mysqli->prepare("INSERT items (number, description) VALUES (?, ?)"))
{
for($i = 0; $i < count($_POST['item']); $i++){
$number = $_POST['item'][$i];
$description= $_POST['description'][$i];
$stmt->bind_param("ss", $number, $description);
$stmt->execute();
}
$stmt->close();
}
你的代码?你可以把它张贴在jsfiddle上吗? – 2013-03-13 21:39:43
在你的数据库中创建额外的列?你肯定是做错了,搜索一些'数据库规范化'教程 – 2013-03-13 21:41:18
@MehdiKaramosly编辑我的文章 – Alex 2013-03-13 21:42:14