0
我有一个允许用户使用JavaScript专门添加行的HTML表单。为提交添加动态行的JavaScript仅返回第一行数据
的形式为:
<form method="post" action="send.php">
<table id="table">
<tr><th>job</th><th>comment</th></tr>
<tr>
<td><textarea name = "job[]"></textarea></td>
<td><textarea name = "comment[]"></textarea></td>
<tr>
</table>
<input type ="button" value="add entry" onclick="add('table')"/>
<input type ="submit" id="submit" value="submit"/>
中的JavaScript:
function add(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for (var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
var newentry = document.createElement('textarea');
newentry.type = "text";
newcell.appendChild(newentry);
}
}
的PHP代码
$job = $_POST['job'];
$comment = $_POST['comment'];
//code to connect to database
$add_stmt = $mysqli->prepare("INSERT INTO job (job, comment) VALUES (?, ?)");
$foreach($job as $a => $b) {
$add_stmt->bind_param("ss", $job[$a], $comment[$a]);
$add_stmt->execute();
}
当我点击 “添加条目” 按钮,行会成功创建。但是,只有第一行中的数据才会提交给数据库。使用
echo "row count is" . count($_POST['job']);
即使我有几行数据,我也得到了“行数为1”。 有人可以弄清楚我的代码可能出了什么问题吗?谢谢一堆!
谢谢Mateusz。然而,我只是试过你的代码,行数仍然是1,$ job [$ a]现在是“数组”,而不是我输入的数据。任何我可能忽略的想法? – nubicurio 2012-04-02 11:23:33
编辑:$ job [$ a]现在是我输入的数据,而不是数组(我错了某些东西)。 – nubicurio 2012-04-02 11:36:10
@nubicurio我已经添加了适用于我的代码 - 它正确地打印了包含动态数据的数组。 – 2012-04-02 12:57:28