以下代码在IE中运行良好,但在FF或Safari中不起作用。 我真的想不出为什么。 该代码应该在选择“禁用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>