先日仕事で職場のサイトを改良していたら、とあるバグに気付きまして。
IEでもChromeでもSafariでも問題なく動いていたので全然気付かなかったというか、
自分がここに勤める前からこの状態だったんだろうね、という感じだけど使い方によっては致命的なやつ。
フォームのラジオボタンなんだけど。
下のラジオボタン、FirefoxではどうやってもFalseのほうチェックが出来ないんです。
(多分他のブラウザなら普通にチェック出来るはず)
(他ブラウザでもFlaseの文字上クリックするとTrueにチェック入っちゃうかとは思いますがね)
上のソースはこんな感じ。
<form id="form" name="form" method="post"> <label> <input name="radio" type="radio" value="true" checked="checked"> True <input name="radio" type="radio" value="false"> False </label> </form> |
おかしいところがないような感じなんだけど、こんなんにしたら直りました。
直したソースはこんな感じ。
<form id="form" name="form" method="post"> <label> <input name="radio" type="radio" value="true" checked="checked"> True </label> <label> <input name="radio" type="radio" value="false"> False </label> </form> |
それぞれを<label>〜</label>で別々に囲んだら直った。
<label>の役割(<label>〜</label>で括った部分の文字などを含めてボタンとして認識する...だよね?)を考えたらこれが正解なのは間違い無いんだろうけど、何でFirefoxだけがダメだったのかは調べる元気がなかったので調べてはいない(笑)
とりあえずFirefoxエンジンはマジメという事でいいですか。
というか、そもそもこれをうちの職場は何年間放置してたんでしょうか...(苦笑)
まぁあまり無い事だとは思うけど、フォームまわりで挙動がおかしいなと思ったらここを疑ってみるのは良いかも。
ボタン押せない、フォームに入力できない、とかは</label>でちゃんと閉じてないとかくらいに。
![]() 【楽天ブックスならいつでも送料無料】Dreamweaver+HTML5&CSS3レッスンブック [ エ・ビスコム... | ![]() 【楽天ブックスならいつでも送料無料】HTML5でつくるFirefox OSアプリケーション開発入門 [ 管... |