以下代码在 IE 中效果很好,但在 FF 或 Safari 中效果不佳。我不能为我的生活找出原因。如果您选择“禁用 2 个单选按钮”选项,该代码应该禁用单选按钮。如果您选择“启用两个单选按钮”选项,它应该启用单选按钮。这两个工作...
但是,如果您不使用鼠标在 2 个选项(“启用...”和“禁用...”)之间移动,那么单选按钮似乎不会被正确禁用或启用,直到您单击其他任何位置在页面上(而不是单选按钮本身)。
如果有人有时间/好奇/觉得有帮助,请将下面的代码粘贴到 html 页面并在浏览器中加载。它在 IE 中运行良好,但问题在 FF(在我的情况下为 3)和 Safari 中表现出来,所有这些都在 Windows XP 上。
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>