dポイントプレゼントキャンペーン実施中!

下のような6つのラジオボタンと1つのテキストフィールドのあるフォームがあります。
「あ・い・う・え・お」のラジオボタンが選択されたらテキストフィールドをdisabledに、「か」なら入力可能にしたくて、JavaScriptで次のように記述しました。
一応動作しているように見えるのですが、見よう見まねで書いた初めてJavaScriptなので大丈夫なのか不安です。これで良いのでしょうか。

function txtClose () {
if (document.f_frm.motive[5].checked) {
document.f_frm.motive_add.disabled = false;
} else {
document.f_frm.motive_add.disabled = true;
}
}

<form name="f_frm">
<input type="radio" name="motive" value="あ" onclick="txtClose();" />あ<br />
<input type="radio" name="motive" value="い" onclick="txtClose();" />い<br />
<input type="radio" name="motive" value="う" onclick="txtClose();" />う<br />
<input type="radio" name="motive" value="え" onclick="txtClose();" />え<br />
<input type="radio" name="motive" value="お" onclick="txtClose();" />お<br />
<input type="radio" name="motive" value="か" onclick="txtClose();" />か<br />
<input type="text" name="motive_add" size="20" maxlength="40" onclick="txtClose();" />
</form>

A 回答 (1件)

正常動作するので問題ありません。


ただ、テキストフィールドのonclick属性は不必要です。
ラジオボタンが選択された時点で、テキストフィールドの入力可不可が決まりますので。

細かいことを言いますと、
<input type="radio" name="motive" value="あ" onclick="txtClose();" />あ<br />
でなく、
<p><input type="radio" name="motive" value="あ" onclick="txtClose();" />あ</p>
のように、<form>内ではbr要素は使用せずにp要素などのブロック要素で囲うのがベストです。
    • good
    • 0
この回答へのお礼

>テキストフィールドのonclick属性は不必要
よく考えると、確かにその通りです。
気付いていませんでした!ありがとうございます。

フォーム内、実際はテーブルの<td>~</td>で囲まれている部分だったのですが、質問の際にその旨を記述していませんでした。すみません。

素早い回答にとても助かりました。ありがとうございます!!

お礼日時:2007/07/28 17:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!