根据所选选项禁用单选按钮

时间:2012-03-16 14:52:53

标签: javascript html

我想根据所选择的选项禁用html表单中的某个单选按钮,如果他在第一个单选按钮组中选择第一个选项,则第二个单选按钮组中的2个选项将被启用,否则它们将被禁用,这是我的代码:

<script language="javascript">
function RadioMeuble() {
    if (document.f.radio1[0].checked) {
        alert("Vous avez choisi la proposition " + document.f.radio1[0].value);
        document.f.radio2[0].disabled = false;
        document.f.radio2[1].disabled = false;
    } else {
        document.f.radio2[0].disabled = true;
        document.f.radio2[1].disabled = true;
    }
}
}
</script>
<input type="radio" name="radio1" value="L" id="radio1" onBlur="RadioMeuble()">á louer</label>
<br>
<label>
    <input type="radio" name="radio1" value="V" id="radio1">á vendre</label>
</p>
<p>Superficie
    <label for="textfield"></label>
    <input type="text" name="superficie" id="Superficie">en Km ²</p>
<p>Prix
    <label for="textfield2"></label>
    <input type="text" name="prix" id="Prix">en DT</p>
<p>Meublé
    <input type="radio" name="radio2" id="radio2" value="oui" disabled>Oui
    <input type="radio" name="radio2" id="radio2" value="non" disabled>
    <label for="radio2"></label>
    <label for="radio"></label>Non</p>

它不起作用。怎么了?

3 个答案:

答案 0 :(得分:2)

你的代码中有一个“}”(最后一个)。

不要使用onblur EventHandler。您应该使用onchange或onclick。

<input type="radio" name="radio1" value="L" id="radio1" onchange="RadioMeuble()">

<input type="radio" name="radio1" value="L" id="radio1" onclick="RadioMeuble()">

HTH,

- hennson

答案 1 :(得分:1)

嗯,首先,你有一个额外的“}”第二,你可能想要点击事件而不是模糊事件。你想在两个单选按钮上使用它。接下来是什么文件.f?那不是变数。接下来,即使它是,我也不知道有一个浏览器可以让你使用像你想要的表单元素。例如,document.f.radio2[0].disabled。此外,您的单选按钮应具有唯一的ID名称。

请参阅:http://jsfiddle.net/vzYT3/1/了解更明智的事情。

答案 2 :(得分:0)

您可以稍微改进一下编码,请查看此示例:

<input type="radio" id="r1-1" name="r1" value="1">
<label for="r1-1">Option 1</label>
<input type="radio" id="r1-2" name="r1" value="2">
<label for="r1-2">Option 2</label>
<hr />
<input type="radio" id="r2-1" name="r2" value="a">
<label for="r2-1">Option A</label>
<input type="radio" id="r2-2" name="r2" value="b">
<label for="r2-2">Option B</label>

function byId(id) {
    return document.getElementById(id);
}

window.onload = function() {
    byId('r1-1').onchange = byId('r1-2').onchange = function() {
        byId('r2-1').disabled = byId('r2-2').disabled = byId('r1-1').checked;
    }
}

http://jsfiddle.net/5Mp9m/

运行示例

使用像Jquery这样的javascript库并不是一个坏主意。