HTML表单覆盖方法GET

时间:2012-04-13 18:57:26

标签: html forms

如果我们没有在<form>上设置方法属性然后提交,那么它将使用方法GET

<form>
    <input type="submit" name="foo" value="test" />
</form>

如果我们没有设置方法属性,如何将默认方法更改为POST

3 个答案:

答案 0 :(得分:5)

没有常见的方法可以避免这种情况。如果你想避免它真的很糟糕,你可能想要使用模板语言,然后编译成HTML。

答案 1 :(得分:1)

无法更改<form> - 标记的默认行为。您可以键入method =“post”(或使用编辑器的搜索和替换功能将<form替换为<form method='post'或使用JavaScript,将此属性放在任何地方(这不适用于禁用JavaScript的浏览器。如果生成页面,您还可以使用像PHP这样的服务器端语言进行替换。

答案 2 :(得分:-2)

你不应该,spec say's get is the default method并且你无法真正改变它......

如果你想以牺牲最佳实践为代价而懒惰普通的正派你可以使用jQuery这样做:

$("form").attr("method","post");

但这真的很懒,我永远不会建议使用它。使用method="post"

首先对其进行编码并不算太多

这种方法的主要问题是要激活JS 必须才能使表单正确提交,因为您的服务器需要POST数据,它可能不知道该怎么做如果JS失败,则使用GET数据,除非您将其设置为同时获取两者,这可能与首先编写正确的html一样多......