2013-12-16 7 views
6

以前は、1つの送信ボタンがあるフォームがあると、通常はそこにtype="submit"属性を入れていませんでした。私はこれを見たことがない、問題を引き起こし、 "submit"がボタンのデフォルトのタイプであり、この動作に依存できると信じていました。送信ボタンでtype = "submit"を指定する必要はありますか?

しかし、w3schoolsとMDNは私が正しいかどうかについて意見を異にします。

w3schools claims:

ヒント:常に<button>要素のtype属性を指定します。異なるブラウザでは、<button>要素に異なるデフォルトの種類を使用することがあります。

MDN claims:

  • submitに対し:...これは、属性が指定されていない場合は、デフォルトで、または属性を動的に空または無効な値に変更された場合。

スペックや実際のブラウザのどちらが正しいのですか?

答えて

7

MDNには、記事の末尾にいくつかのスペックリンクがあり、それが正しいと確認しています。typebutton要素はsubmitです。

W3C HTML 4.01

type = submit|button|reset [CI]
この属性は、ボタンの種類を宣言します。可能な値:

  • submit:送信ボタンを作成します。これがデフォルト値です。
  • reset:リセットボタンを作成します。
  • button:プッシュボタンを作成します。

W3C HTML5:それが活性化されたとき

type属性は、ボタンの動作を制御します。これは列挙された属性です。次の表に、属性のキーワードと状態を示します。左側の列のキーワードは、キーワードと同じ行の2番目の列のセルの状態に対応します。

Keyword | State   | Brief description 
--------+---------------+------------------ 
submit | Submit Button | Submits the form. 
reset | Reset Button | Resets the form. 
button | Button  | Does nothing. 

欠損値のデフォルトは、送信ボタンの状態です。

W3Schoolsは、できる限りブラウザ間で一貫性のある動作を保証するために、常に属性を指定する必要があると言っています。これは、その属性を法的に省略できないことを意味するものではありません。

+0

* W3Schoolsが言っていることは、可能な限りブラウザ間で一貫性のある動作を保証するために、常に属性を指定する必要があるということです。属性を省略することはできません。* - うーん。私はその慈善団体ではありません。彼らは主張している*あなたが投稿したスペック引用符によると、異なるブラウザは '

+0

@マーク・アメリー:私は最後の声明を少し明確にしました。 – BoltClock

+0

[オフトピック] w3schoolがインターネットから禁止されるべきだと言っている少数の重要な人々の動きがあり、w3cのスペックは代わりに相談されるべきである。 – SparK

関連する問題