1

我的页面上有一个包含大量行的数据表。每行都有一个 id、name、surname 和一个 action 列。在操作列中有一个文本区域,您可以在其中添加评论和提交该评论的按钮。当我提交评论时,我希望页面将自己定位在它所在的位置,但我无法弄清楚如何。有任何想法吗?

这是代码片段:

$result = mysql_query($query, $connection);
while ($row = mysql_fetch_array($result)) {
echo "<tr>";
    echo "<form method='post' action='saveComment.php#position_".$row['id']."'>";
    echo "<td hidden><input hidden name='id' readonly value=" . $row['id'] . " /></td>";
    echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['surname'] . "</td>";
    echo "<td><input type='submit' name='submit' value='Comment'/></td>";
    echo "<a id='position_".$row['id']."'></a>";
echo "</tr>";
}

我尝试将当前行的 id 传递给保存评论的脚本,它确实传递了值,之后它应该将它定位回原来的位置,但它似乎不起作用:/

4

3 回答 3

1

使用 Ajax 提交表单,并成功:

window.location = 'saveComment.php#position_<? echo $row['id']; ?>';
于 2012-12-19T10:19:35.367 回答
1

我发现了它是如何与锚一起工作的!问题是我在重定向回原始页面时没有在 saveComment.php 脚本中传递 id。

表单所在页面中的代码:

if ($_POST['submit']){
$id=$_POST["id"];   
header('Refresh: 0.5; URL=originalPage.php#position_' . $id);
//...rest of code goes here...
}

就是这样 :)

于 2012-12-19T12:04:09.303 回答
0

你需要使用

<a name='position_".$row['id']."'></a>

代替

<a id='position_".$row['id']."'></a>
于 2012-12-19T10:18:24.437 回答