HTML - 输入字段跳出 html table
HTML - input field jumps out of html table
我有一个 'dynamic' table 可以更改某人信息的网站。单击 'update' 时,单元格应更改为输入字段。这行得通,但不知何故输入字段跳出 table 并位于其上方。
这是显示 table:
的函数的一部分
echo '<tr>';
echo '<td><b>' . ucfirst(htmlspecialchars($data)) . '</b></td>';
if($url_param_index[1] == $info) // Checks if second url-parameter is same as $info on row that is clicked on and changes cell to form input field
{
echo '<form action="update.php method="POST"';
echo '<td><input type="text" name="' . $data . '" value="' . $info . '"></td>';
echo '<input type="hidden" name="lidnummer" value="' . $gegevens_lid['lidnummer'] . '">';
echo '<td><button type="submit">Save</button></td>';
echo '<td>----</td>';
echo '</form>';
}
else
{
if($data == 'lidnummer' || $data == 'adres' || $data == 'woonplaats')
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td> ---- </td>';
echo '<td> ---- </td>';
}
else
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td><a href="lid.php?lidnummer=' . $gegevens_lid['lidnummer'] . '&' . $data . '=' . $info . '">Update</td>';
echo '<td> ---- </td>';
}
}
echo '</tr>';
这是调用函数以显示 table:
的页面
<div>
<h3>Lid:</h3>
<table>
<tbody>
<tr>
<th>#</th>
<th>Info</th>
<th>Pas aan</th>
<th>Delete</th>
</tr>
<?php show_single_lid($conn, $lidnummer); ?>
</tbody>
</table>
</div>
点击更新前
点击更新后
输入框本来应该留在table里面row/column,但是跳出来了,剩下的就滑过来了...
在 table 或 tr 标签中不允许使用 form。所以你的表格应该包含整个 table 或在一个单元格中。
例如(注意表格在单个单元格内):
echo '<td><form action="update.php" method="POST">';
echo '<input type="text" name="' . $data . '" value="' . $info . '">';
echo '<input type="hidden" name="lidnummer" value="' . $gegevens_lid['lidnummer'] . '"><button type="submit">Save</button></form></td>';
echo '<td></td>';
echo '<td>----</td>';
另见
尝试将您的 PHP 代码更改为此。
echo '<tr>';
echo '<td><b>' . ucfirst(htmlspecialchars($data)) . '</b></td>';
if($url_param_index[1] == $info) // Checks if second url-parameter is same as $info on row that is clicked on and changes cell to form input field
{
echo '<td><form action="update.php method="POST"';
echo '<td><input type="text" name="' . $data . '" value="' . $info . '"></td>';
echo '<input type="hidden" name="lidnummer" value="' . $gegevens_lid['lidnummer'] . '">';
echo '<td><button type="submit">Save</button></td>';
echo '<td>----</td>';
echo '</form></td>';
}
else
{
if($data == 'lidnummer' || $data == 'adres' || $data == 'woonplaats')
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td> ---- </td>';
echo '<td> ---- </td>';
}
else
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td><a href="lid.php?lidnummer=' . $gegevens_lid['lidnummer'] . '&' . $data . '=' . $info . '">Update</td>';
echo '<td> ---- </td>';
}
}
echo '</tr>';
我有一个 'dynamic' table 可以更改某人信息的网站。单击 'update' 时,单元格应更改为输入字段。这行得通,但不知何故输入字段跳出 table 并位于其上方。
这是显示 table:
的函数的一部分 echo '<tr>';
echo '<td><b>' . ucfirst(htmlspecialchars($data)) . '</b></td>';
if($url_param_index[1] == $info) // Checks if second url-parameter is same as $info on row that is clicked on and changes cell to form input field
{
echo '<form action="update.php method="POST"';
echo '<td><input type="text" name="' . $data . '" value="' . $info . '"></td>';
echo '<input type="hidden" name="lidnummer" value="' . $gegevens_lid['lidnummer'] . '">';
echo '<td><button type="submit">Save</button></td>';
echo '<td>----</td>';
echo '</form>';
}
else
{
if($data == 'lidnummer' || $data == 'adres' || $data == 'woonplaats')
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td> ---- </td>';
echo '<td> ---- </td>';
}
else
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td><a href="lid.php?lidnummer=' . $gegevens_lid['lidnummer'] . '&' . $data . '=' . $info . '">Update</td>';
echo '<td> ---- </td>';
}
}
echo '</tr>';
这是调用函数以显示 table:
的页面<div>
<h3>Lid:</h3>
<table>
<tbody>
<tr>
<th>#</th>
<th>Info</th>
<th>Pas aan</th>
<th>Delete</th>
</tr>
<?php show_single_lid($conn, $lidnummer); ?>
</tbody>
</table>
</div>
点击更新前
点击更新后
输入框本来应该留在table里面row/column,但是跳出来了,剩下的就滑过来了...
form。所以你的表格应该包含整个 table 或在一个单元格中。
例如(注意表格在单个单元格内):
echo '<td><form action="update.php" method="POST">';
echo '<input type="text" name="' . $data . '" value="' . $info . '">';
echo '<input type="hidden" name="lidnummer" value="' . $gegevens_lid['lidnummer'] . '"><button type="submit">Save</button></form></td>';
echo '<td></td>';
echo '<td>----</td>';
另见
尝试将您的 PHP 代码更改为此。
echo '<tr>';
echo '<td><b>' . ucfirst(htmlspecialchars($data)) . '</b></td>';
if($url_param_index[1] == $info) // Checks if second url-parameter is same as $info on row that is clicked on and changes cell to form input field
{
echo '<td><form action="update.php method="POST"';
echo '<td><input type="text" name="' . $data . '" value="' . $info . '"></td>';
echo '<input type="hidden" name="lidnummer" value="' . $gegevens_lid['lidnummer'] . '">';
echo '<td><button type="submit">Save</button></td>';
echo '<td>----</td>';
echo '</form></td>';
}
else
{
if($data == 'lidnummer' || $data == 'adres' || $data == 'woonplaats')
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td> ---- </td>';
echo '<td> ---- </td>';
}
else
{
echo '<td>' . htmlspecialchars($info) . '</td>';
echo '<td><a href="lid.php?lidnummer=' . $gegevens_lid['lidnummer'] . '&' . $data . '=' . $info . '">Update</td>';
echo '<td> ---- </td>';
}
}
echo '</tr>';