Hatena::Groupxiss

アリゾナではもう働きたくない社長の blog このページをアンテナに追加 RSSフィード

2008-11-17 (Mon)

HTML フォームの button 要素に対するブラウザの挙動差

HTML フォームの button 要素に対するブラウザの挙動差 - アリゾナではもう働きたくない社長の blog を含むブックマーク はてなブックマーク - HTML フォームの button 要素に対するブラウザの挙動差 - アリゾナではもう働きたくない社長の blog HTML フォームの button 要素に対するブラウザの挙動差 - アリゾナではもう働きたくない社長の blog のブックマークコメント

HTML 4.01 の button[type="submit"] と input[type="submit"] をアクティベートした際の挙動がブラウザごとに異なるようです。

テストケース

<form method="get">
  <fieldset>
    <legend>フォーム</legend>
    <input name="foo" type="text" value="1" />
    <input name="bar" type="submit" value="ButtonA" />
    <button name="baz" type="submit" value="2">ButtonB</button>
  </fieldset>
</form>

テスト方法

  1. ButtonA を押す
  2. ブラウザが送信したクエリを記録する
  3. ButtonB を押す
  4. ブラウザが送信したクエリを記録する
  5. 以上を複数のブラウザで行う

テスト結果

アクティベートしたボタン Firefox 3・Opera 9.62 が送信するクエリ Internet Explorer 6 が送信するクエリ Internet Explorer 7 が送信するクエリ
input[type="submit"] foo=1&bar=ButtonA foo=1&bar=ButtonA&baz=ButtonB foo=1&bar=ButtonA
button[type="submit"] foo=1&baz=2 foo=1&baz=ButtonB foo=1&baz=ButtonB

期待される結果

name = cdata [CI]

This attribute assigns the control name.

value = cdata [CS]

This attribute assigns the initial value to the button.

http://www.w3.org/TR/html401/interact/forms.html#h-17.5

仕様書を見る限り、button[type="button"] がアクティベートされたときは input[type="button"] がアクティベートされた時と同じく value 属性値が送信されるべきなようです。

考えられる対処

  • パラメタ送信用途には button 要素を使わない
  • IE を今すぐ窓から投げ捨てる

ColosseumColosseum2009/05/18 14:43HTMLとお付き合いして早3年、button要素というのを知ったのが今日になります。

IEは相変わらず可愛い奴ですね、憎さ百倍とはよく言いました。

KethlenKethlen2012/07/27 20:25All tnighs considered, this is a first class post

lotelreothblotelreothb2012/07/30 15:13FXVw9q , [url=http://vikhijikonjg.com/]vikhijikonjg[/url], [link=http://fsnqlekshxbt.com/]fsnqlekshxbt[/link], http://pfjbijqyrpox.com/