2007-03-02 (Fri)

Javascript で IE のバグと戦う

さっき知ったのですが、InternetExplorer はフォーム内にテキストフィールドが1つしかない場合、エンターキーを押しても submit ボタンの情報(name,value)は送られない仕様*1だそうです。フィールドが2つ以上あれば良いらしく、幅0のフィールドを追加するとか CSS で見えなくしたりするのがトレンディみたいです。

submit ボタンに名前を付けて処理を分岐させるのって結構好きなのですが、こんなわけのわからん仕様っつかバグでしょ、まぁいいや、えっとこんなの覚えておけないし、また悩むのは嫌なので Javascript で見えないフィールドを自動的に追加するやつ書いてみました。

var f = document.forms;
for(var elm, i = 0; elm = f[i]; i++) {
   var input = document.createElement('input');
   input.style.display = 'none';
   elm.appendChild(input);
}

onload 後に読み込ませれば快適。

  • *1: どなたか詳細をご存じでしたら教えて下さい。

Posted by Kyosuke Takayama at 2007-03-02 (Fri) 18:28 printable version

この記事へのコメント

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/655

leedejunの日記: IEのJavaScriptまわりメモ1 (2008-03-14 (Fri) 10:53) 0%

とりあえず、 >InternetExplorer はフォーム内にテキストフィールドが1つしかない場合、エンターキーを押しても submit ボタンの情報(name,value)は送られない さっそくやられたー 道理でうまくいかないと思った。 ▼Javascript で IE のバグと戦う http://espion.just-...



この記事のリンク元

 
Copyright (C) Kyosuke Takayama, All rights reserved.