PHP表单提交并锚定回原处

时间:2012-12-19 10:15:03

标签: php anchor form-submit

我的页面上有一个包含大量行的dataTable。每行都有一个id,name,surname和action列。在操作列中有一个textarea,您可以在其中添加注释和提交该注释的按钮。当我提交评论时,我希望页面将自己定位在原来的位置,但我无法弄清楚如何。有什么想法吗?

以下是代码片段:

$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传递给保存注释的脚本,它确实传递了值,之后它应该将它放回原位,但它似乎不起作用:/

3 个答案:

答案 0 :(得分:1)

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

window.location = 'saveComment.php#position_<? echo $row['id']; ?>';

答案 1 :(得分:1)

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

表单中的代码:

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

就是这样:))

答案 2 :(得分:0)

您需要使用

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

而不是

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