テキストにジオボタン機能を持たせる

[上に] [前に] [次に]
みっち 1999/06/06(日) 06:08:13
こんにちは。フォームのラジオボタンですが、
ウィンドウズとマックではかたちがちがってしまうので
できればボタンは表示しないで
本来各ボタンにつづく各テキストの部分をクリックすることで
<input type=radio...のときと同じアクションをさせたいです。
参考文献がなかなか見つけられないのですが
できないのでしょうか?

Nobu3 1999/06/07(月) 11:44:33
結論から言うと、できないです。たぶん。

ラジオボタンを表示していれば、<label>タグとid属性を使うことで文字列のクリックで反応しますが、
表示しないと、クリックしても何も起きません。
すくなくともIE4では。

仮にできたとしても、NNはもともと<label>をサポートしてませんし(NN4.5)、非表示にするにはスタイルシートを使わなくてはいけませんから、対応ブラウザは限定されます。

あきらめたほうがいいと思います。

ふじ 1999/06/07(月) 12:42:57
onClick を使って、hiddenの要素の値を入れ替えて行けば
出来るんじゃないですかね。
ただ、ユーザーには現在の値が見えませんよ(^^;

<a href="" onClick="dummyradio.value=hoge1;return false;">テキスト1</a>
<a href="" onClick="dummyradio.value=hoge2;return false;">テキスト2</a>
<input type=hidden name="dummyradio" value="">

Tmb 1999/06/07(月) 13:06:47
私もふじさんと同じやり方を支持します。
加えて,ラジオボタンのON/OFF画像を自分で作っちゃって,onClick時に
画像を書き換える(クリックされた項目に対応するのをONの画像に,
それまでONになってた画像をOFFに。hiddenのvalueを参照すれば簡単
かと思います)形にしてしまってはどうでしょうか。

こうなると完全に「疑似ラジオボタン」ですね。

Nobu3 1999/06/07(月) 15:03:18
なるほど。そういう手がありましたか(笑)

でも、JavaScriptに対応していない人は、そのフォームを使わないんでしょうか?
だったらいいんですけど。

[上に] [前に] [次に]