在不使用 javascript 的情况下更改表单的提交方式
change the way the form is submitted without using javascript
我有一个用于在网站上进行搜索的表单。
<form method="get" action="example.com/search">
<input type="text" name="search"/>
<input type="submit"/>
</form>
假设我在提交时搜索了 "stack" 我希望用户被重定向到 example.com/search:stack
现在提交用户被重定向到:example.com/search?search=stack
如何在不支持 javascript 的设备上实现并允许它!?
你不能。以您描述的方式提交表单,即使用 GET 方法,将表单的内容编码为查询字符串,其格式如下:
?search=stack
参见 HTML5 Living Standard or section 17.13.3 of the HTML 4.01 Specification 的第 4.10.22 节。
更正:对不起,我没有正确理解你的问题。您确实无法更改表单的提交方式,但您可以按照您的建议进行重定向。
Álvaro Martínez 在 .
中提出了实现该目标的好方法
您需要 Url rewriting 才能做到这一点。
URL Rewriting for Beginners
您可以设置搜索页面以将您的用户从 /search?search=stack
重定向到 /search:stack
。
PHP:
if(isset($_GET['search']))
{
$search = $_GET['search'];
header('Location: /search:'.$search);
}
else
// no query handling
我有一个用于在网站上进行搜索的表单。
<form method="get" action="example.com/search">
<input type="text" name="search"/>
<input type="submit"/>
</form>
假设我在提交时搜索了 "stack" 我希望用户被重定向到 example.com/search:stack
现在提交用户被重定向到:example.com/search?search=stack
如何在不支持 javascript 的设备上实现并允许它!?
你不能。以您描述的方式提交表单,即使用 GET 方法,将表单的内容编码为查询字符串,其格式如下:
?search=stack
参见 HTML5 Living Standard or section 17.13.3 of the HTML 4.01 Specification 的第 4.10.22 节。
更正:对不起,我没有正确理解你的问题。您确实无法更改表单的提交方式,但您可以按照您的建议进行重定向。
Álvaro Martínez 在
您需要 Url rewriting 才能做到这一点。 URL Rewriting for Beginners
您可以设置搜索页面以将您的用户从 /search?search=stack
重定向到 /search:stack
。
PHP:
if(isset($_GET['search']))
{
$search = $_GET['search'];
header('Location: /search:'.$search);
}
else
// no query handling