メソッド属性をオンに設定し<form>
てから送信しない場合は、メソッドが使用されますGET
<form>
<input type="submit" name="foo" value="test" />
</form>
POST
メソッド属性を設定しない場合、デフォルトのメソッドをに変更するにはどうすればよいですか?
それを回避する一般的な方法はありません。それを本当に悪くしたくない場合は、テンプレート言語を使用するか、HTMLにコンパイルすることをお勧めします。
<form>
-Tagのデフォルトの動作を変更する可能性はありません。<form
method = "post"と入力するか、エディターのsearch&replace-featureを<form method='post'
使用してJavaScriptに置き換えるか、JavaScriptを使用して、この属性をあらゆる場所に配置します(JavaScriptが無効になっているブラウザーでは機能しません)。サーバーを使用することもできます。 -ページが生成された場合に置換を行うためのPHPなどのサイド言語。
すべきではありません。仕様では、getがデフォルトのメソッドであり、実際に変更することはできません...
ベストプラクティスと一般的な品位を犠牲にして怠惰になりたい場合は、jQueryを使用して次のようにすることができます。
$("form").attr("method","post");
しかし、それは本当に怠惰であり、私はそれを使用することを決して提案しません。そもそもそれを正しくコーディングするのはそれほど手間がかかりませんmethod="post"
このメソッドの主な問題は、フォームが正しく送信されるようにJSをアクティブ化する必要があることです。サーバーはデータを期待しているため、両方を取得するように設定しない限り、JSが失敗した場合にデータPOST
をどう処理するかわからない可能性があります。 GET
、これはおそらく、最初に適切なhtmlを作成するのと同じくらいの作業です...