有什么方法可以强制表单以不同方式提交字段而不使用Javascript?

时间:2014-09-18 04:49:38

标签: html

我有一张表格:

<form method="GET">
    <input type="text" value="hello" name="myname" />
</form>

如果提交此表格,我最终会:

example.com/?myname=hello

我更喜欢的是,当提交时,我最终会:

example.com/hello

这可能吗?

1 个答案:

答案 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后向前传递它们。