我有一个问题与X输入字段(动态)提交。每当我按下提交按钮,它就像是在刷新我的页面。我实在说不出我错在哪里了。
我希望有人能指出这个问题。require_once('dbconnection.php');
$sql = "SELECT * FROM {$value} WHERE employeeNumber = {$employeeNumber}";
$statement = $db->prepare($sql);
$statement->execute();
$department = $statement->fetchAll();
$mySql = "SELECT * FROM {$value}cloth";
$myStatement = $db->prepare($mySql);
$myStatement->execute();
$myDepartment = $myStatement->fetchAll();
//var_dump($myDepartment);
echo "<table>";
echo "<tr>";
echo "<th>Type</th>";
echo "<th>Antal</th>";
echo "<th>Størrelse</th>";
echo "</tr>";
if (!empty($department)) {
$i = 0;
foreach ($department as $infoRow) {
foreach ($myDepartment as $row) {
if ($i < 2) {
$i++;
} else {
echo "<tr>";
echo "<td>";
echo $row['Type'];
echo "</td>";
echo "<td>";
echo $infoRow['Navn'];
echo "</tr>";
}
}
}
} else {
echo "<form method='POST'>";
foreach ($myDepartment as $row) {
echo "<tr>";
echo "<td>";
echo $row['Type'];
echo "</td>";
echo "<td>";
echo "<input type='text' name='{$row['id']}' required>";
echo "</td>";
echo "<td>";
echo "<input type='text' name='{$row['pieces']}' required>";
echo "</tr>";
}
echo "<tr><td>";
echo "<input type='submit' name='update' value='opdaterer'>";
echo "</td></tr>";
echo "</form>";
if ($_POST) {
echo "succes";
if (isset($_POST[$row['id']])) {
echo "succes too";
}
}
}
echo "</table>";
这没什么意义。你想让提交按钮做什么?
提交按钮会将页面重定向到目标所在的位置。当您将其留空时,它将恢复到默认目标,即当前页面。
如果您希望提交按钮POST到另一个页面,您需要指定动作属性:<form method="POST" action="destination.php">
否则,将您的<input type = "submit">
更改为简单的<button>
将防止刷新页面,但也删除了在第一个地方有一个表单的点
我不明白你说的"每当我按下提交按钮时,它就像刷新我的页面"是什么意思(当你提交一个没有动作属性的表单时,页面当然会重新加载)
在任何情况下,第一个错误,我可以看到阅读你的代码是,你把一个形式在<tr>
,这是不允许的。您可以将整个表放在表单中,也可以将整个表单放在<td>
中,而其他所有组合都是非法的。