ここではそれが必要だと言っています
http://www.w3schools.com/tags/att_form_action.asp
しかし、アクション属性を指定しなくてもフォームが送信され、フォームは現在のページに送信されます。これはまさに私が望むものです。
ここではそれが必要だと言っています
http://www.w3schools.com/tags/att_form_action.asp
しかし、アクション属性を指定しなくてもフォームが送信され、フォームは現在のページに送信されます。これはまさに私が望むものです。
要件は標準のみです。標準に従わずに、ページ上でやりたいことを何でもすることは完全に可能です。そうすると、物事が正しく表示または機能しない可能性がありますが、おそらくそうなります。目標はそれらをフォローすることであり、それらをフォローすると、ページは常に機能するという考え方です。何も心配する必要はありません。
はい、フォームにはHTML4のアクション属性が必要です。設定されていない場合、ブラウザは空の文字列を提供するのと同じ方法を使用する可能性があります。action=""
完全に有効なHTML4であり、標準に準拠し、まったく同じ結果を達成するものを実際に設定する必要があります。
HTML5では、送信ボタン自体に実際にアクションを指定できます。存在しない場合はフォームのアクションを使用し、設定されていない場合はデフォルトで空の文字列になります(HTML5ではアクションを空の文字列に明示的に設定できないことに注意してください)。
It looks like the HTML4 spec requires it. I suspect some browsers do what you want to "make things easier". I don't recommend relying it on though. Since you're in undefined behavior, a browser could reasonably decide to just do nothing when the form is submitted with no action
.
You can get the behavior you want while following the spec by leaving the action blank (since it's relative, blank means the current page):
<form action="" ...>
As mentioned by bazmegakapa, the HTML5 spec doesn't seem to require the action
attribute:
The action and formaction content attributes, if specified, must have a value that is a valid non-empty URL potentially surrounded by spaces.[emphasis added]
興味深いことに、これはHTML5では<form action="">
無効であることを意味しますが、アクションのないフォームが機能する(現在のページに送信する)必要があるかどうかは明確ではありません。
技術的にはHTML4仕様に違反していますが、アクションが指定されていない場合、すべてのブラウザーが応答の発信者にポストバックします。私はそれに頼るのは賢明な考えではないことに同意しますが、それは機能します。
編集:この質問はHTML 5としてタグ付けされていることが私に指摘されているので、HTML 5 では、アクション属性が不要になったとリストされています: http ://www.w3schools.com/html5/att_form_action.asp HTML5の仕様に準拠しています。
//スレッド復活アラート
アニムソンの答えを拡張するには...
すべてのボタンformaction
とフォームのaction
属性が評価された後、「アクション」がまだ「空の文字列」と評価される場合、HTML5.2仕様セクション4.10.21.3からポイント8は次のように述べています。
actionが空の文字列の場合、actionをフォームドキュメントのドキュメントのURLとします。
フォームの提出に関しては、それがあなたが望んでいたことです。