我正在通过AJAX从php文件生成一个表并在html页面上显示它。
我希望能够编辑一行并将一些值更改为我的数据库。虽然我为每个<tr>
制作了一个表单,但它似乎无法正常工作,在提交时它什么都不做。 (我知道这可能不是解决这个问题的最好方法。任何建议都会受到赞赏。)
php code
if($_GET['function']=="editteam")
{
$sql=mysql_query("SELECT * FROM tbl_Team")
or die(mysql_error());
echo '<table border="1"><thead><tr><th>Team Name</th><th>Location</th><th>Edit</th></tr></thead>';
while($row=mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td>'.$row['team_name'].'</td>';
echo '<td>'.$row['team_location'].'</td>';
echo '<td><button class="shownextrow">Edit</button></td>';
echo '</tr>';
echo '<form action="editteam.php" method="post">';
echo '<tr style="display:none" bgcolor="#FF0000">';
echo '<td><input type="text" name="team_name" value="'.$row['team_name'].'"></td>';
echo '<td><input type="text" name="team_location" value="'.$row['team_location'].'"></td>';
echo '<td><input type="hidden" name="team_id" value="'.$row['team_id'].'"><input type="submit" value="Ok"></td>';
echo '</tr>';
echo '</form>';
}
echo '</table>';
}
JS显示下一行(点击时可编辑的那一行)
$(function() {
$('.editteam').on('click', '.shownextrow', function() {
$(this).closest("tr").next().show();
});
});
答案 0 :(得分:1)
这会修复它,把表格放在桌子外面。
if($_GET['function']=="editteam")
{
$sql=mysql_query("SELECT * FROM tbl_Team")
or die(mysql_error());
echo '<form action="editteam.php" method="post"><table border="1"><thead><tr><th>Team Name</th><th>Location</th><th>Edit</th></tr></thead>';
while($row=mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td>'.$row['team_name'].'</td>';
echo '<td>'.$row['team_location'].'</td>';
echo '<td><button class="shownextrow">Edit</button></td>';
echo '</tr>';
echo '<tr style="display:none" bgcolor="#FF0000">';
echo '<td><input type="text" name="team_name" value="'.$row['team_name'].'"></td>';
echo '<td><input type="text" name="team_location" value="'.$row['team_location'].'"></td>';
echo '<td><input type="hidden" name="team_id" value="'.$row['team_id'].'"><input type="submit" value="Ok"></td>';
echo '</tr>';
}
echo '</table></form>';
}
答案 1 :(得分:0)
试试这个
if($_GET['function']=="editteam")
{
$sql=mysql_query("SELECT * FROM tbl_Team")
or die(mysql_error());
echo '<table border="1"><thead><tr><th>Team Name</th><th>Location</th><th>Edit</th></tr></thead>';
while($row=mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td>'.$row['team_name'].'</td>';
echo '<td>'.$row['team_location'].'</td>';
echo '<td><button class="shownextrow">Edit</button></td>';
echo '</tr>';
echo '<tr style="display:none" bgcolor="#FF0000">';
echo '<td colspan="3">';
echo '<form action="editteam.php" method="post">';
echo '<table>';
echo '<tr>';
echo '<td><input type="text" name="team_name" value="'.$row['team_name'].'"></td>';
echo '<td><input type="text" name="team_location" value="'.$row['team_location'].'"></td>';
echo '<td><input type="hidden" name="team_id" value="'.$row['team_id'].'"><input type="submit" value="Ok"></td>';
echo '</tr>';
echo '</table>';
echo '</form>';
echo '</td>';
echo '</tr>';
}
echo '</table>';
}
编辑:错过/
答案 2 :(得分:0)
请勿在{{1}}和<form>
之间或<table>
和<tr>
之间放置<tbody>
。您可以将其放在<tr>
之外或<table>
和<tr>
之间。