提交php表单后自动跳回页面内容

时间:2012-01-04 20:56:24

标签: php html submit return

如何使用提交表单创建一个php页面,并在提交后自动返回到页面的演员/内容。

(有很多行的大表)

3 个答案:

答案 0 :(得分:2)

要转到页面的某个部分,您可以使用锚点。如果您的HTML元素具有ID属性,则可以使用#标签(#)链接到它们。例如,如果您有一个包含行的表:

<table>
    <tr id="row-1">...</tr>
    <tr id="row-2">...</tr>
    <tr id="row-3">...</tr>
</table>

您可以使用yourpage.html#row-2链接到第2行。

在PHP中,您需要使用正确的行重定向(您可以在同一页面上重定向)。您可以使用header修改HTTP标头Location以使浏览器重定向。

<?php
    $rowNumber = $_POST['row'];
    header("Location: form.php#row-$rowNumber "); //Same page as the page where this code is
    exit;
?>

请注意,在将任何输出发送到浏览器之前需要使用header,并且在header调用后将继续执行PHP,因此如果exit调用{}你想停止执行。

答案 1 :(得分:2)

我不确定浏览器支持,但有204 HTTP状态,“No Content”。 RFC声明:

  

如果客户端是用户代理,则它不应该从导致请求发送的文档视图中更改其文档视图。此响应主要是为了允许在不导致更改用户代理的活动文档视图的情况下进行操作的输入,尽管任何新的或更新的元信息应该应用于当前在用户代理的活动视图中的文档。

这意味着,如果我有一个HTML表单并提交它,那么,如果服务器返回204状态代码,浏览器不应刷新表单或将我带到另一页。

答案 2 :(得分:0)

每一行都必须包含一些uniq html name属性,如果您在#后在您的网址中使用此名称,浏览器将跳转到其位置。

示例:

<div name='item-256'>...</div>

并使用page.html#item-256

等网址提交重定向到包含大表的网页后