次のコードは IE ではうまく機能しますが、FF や Safari では機能しません。私は一生、理由を解明することはできません。「2つのラジオボタンを無効にする」オプションを選択すると、コードはラジオボタンを無効にするはずです。「両方のラジオ ボタンを有効にする」オプションを選択すると、ラジオ ボタンが有効になります。これらは両方とも機能します...
ただし、マウスを使用して 2 つのオプション (「有効にする...」と「無効にする...」) の間を移動しない場合、他の場所をクリックするまで、ラジオ ボタンは正しく無効または有効にされないように見えます。ページ上 (ラジオ ボタン自体ではありません)。
時間のある方、興味のある方、役に立ちそうな方は、以下のコードを HTML ページに貼り付けて、ブラウザにロードしてください。IE では問題なく動作しますが、すべて Windows XP の FF (私の場合は 3) と Safari で問題が発生します。
function SetLocationOptions() {
var frmTemp = document.frm;
var selTemp = frmTemp.user;
if (selTemp.selectedIndex >= 0) {
var myOpt = selTemp.options[selTemp.selectedIndex];
if (myOpt.attributes[0].nodeValue == '1') {
frmTemp.transfer_to[0].disabled = true;
frmTemp.transfer_to[1].disabled = true;
frmTemp.transfer_to[2].checked = true;
} else {
frmTemp.transfer_to[0].disabled = false;
frmTemp.transfer_to[1].disabled = false;
}
}
}
<form name="frm" action="coopfunds_transfer_request.asp" method="post">
<select name="user" onchange="javascript: SetLocationOptions()">
<option value="" />Choose One
<option value="58" user_is_tsm="0" />Enable both radio buttons
<option value="157" user_is_tsm="1" />Disable 2 radio buttons
</select>
<br /><br />
<input type="radio" name="transfer_to" value="fund_amount1" />Premium
<input type="radio" name="transfer_to" value="fund_amount2" />Other
<input type="radio" name="transfer_to" value="both" CHECKED />Both
<br /><br />
<input type="button" class="buttonStyle" value="Submit Request" />
</form>