我有一张表格:
<form method="GET">
<input type="text" value="hello" name="myname" />
</form>
如果提交此表格,我最终会:
example.com/?myname=hello
我更喜欢的是,当提交时,我最终会:
example.com/hello
这可能吗?
答案 0 :(得分:2)
不,您无法更改form submission在HTML中的工作方式。 (使用JavaScript,您可以以不同的方式执行事务,而无需使用HTML表单提交。)使用method="GET"
时,URL将以特定方式构建;使用method="POST"
时,URL根本不包含提交的数据(它在URL外部发送)。
有一种技巧可以通过一种方式改变表单提交,但不是你想要的方式。如果控件的名称是isindex
,则省略控件名称和等号;但问号仍然存在。也就是说,<input type="text" value="hello" name="isindex" />
会产生http://www.example.com/?hello
。当Chrome删除了isindex
元素支持的剩余部分时,Chrome已经破坏了这一点。
如果由于某些特殊原因,您确实需要创建表单来创建http://example.com/hello
之类的请求,那么最简单的方法是设置一个非常简单的服务器端脚本,该脚本接受来自HTML表单的正常请求并以简单的方式修改URL后向前传递它们。