只需使用:
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