我有一点问题,我希望你可以帮助我,我试图在用户点击收音机时禁用输入文字。
我的代码:
<script>
function grise(radio)
{
if(radio[0].checked){
document.anglais.annee.disabled=true;
document.anglais.niv.disabled=true;
document.anglais.testuti.disabled=true;}
if(radio[1].checked){
document.anglais.annee.disabled=false;
document.anglais.niv.disabled=false;
document.anglais.testuti.disabled=false;}
}
</script>
和表格:
<form name="anglais">
<input type="radio" id="NON" name="EVAL_ANGLAIS" onclick="grise(this.form.EVAL_ANGLAIS)" checked="checked" value="NON" <?=($personne->EVAL_ANGLAIS == "NON")?"checked":""?> >NON</br></br>
<input type="radio" id="OUI" name="EVAL_ANGLAIS" onclick="grise(this.form.EVAL_ANGLAIS)" value="OUI" onclick="active()" <?=($personne->EVAL_ANGLAIS == "OUI")?"checked":""?>>OUI</br></br>
Année : <input id="annee" disabled type="text" name="EVAL_ANGLAIS_ANNEE" style="width:30px; " value="<?=$personne->EVAL_ANGLAIS_ANNEE?>" >
Test utilisé : <input id="testuti" disabled type="text" name="EVAL_ANGLAIS_TEST" style="width:50px; " value="<?=$personne->EVAL_ANGLAIS_TEST?>" >
Niveau atteint : <input id = "niv" disabled type="text" name="EVAL_ANGLAIS_NIV" style="width:50px; " value="<?=$personne->EVAL_ANGLAIS_NIV?>" >
</form>
答案 0 :(得分:2)
您应该尝试document.getElementById('annee').disabled=true;
答案 1 :(得分:2)
通过将此设置为他们所在的元素来调用侦听器,因此:
<input type="radio" id="NON" name="EVAL_ANGLAIS" onclick="grise(this.form.EVAL_ANGLAIS)" ...>
可以是:
<input type="radio" id="NON" name="EVAL_ANGLAIS" onclick="grise(this)" ...>
所以你知道哪一个被点击了。由于只有两个按钮,因此必须检查一个按钮,而不检查一个按钮,因此您只需要测试一个按钮的检查以了解另一个按钮。
但是,不要使用两个单选按钮,而是考虑使用单个复选框,并根据是否选中来启用或禁用输入:
<input type="checkbox" onclick="grise(this)" ...>
然后在函数中:
function grise(checkbox) {
var form = checkbox.form;
form.annee.disabled = checkbox.checked;
form.niv.disabled = checkbox.checked;
form.testuti.disabled = checkbox.checked;
}
此外,没有必要:
<input ... checked="checked" ...>
checked属性是boolean,它不需要值。该值仅针对XHTML引入,而XHTML未在Web上使用,因此只需使用:
<input ... checked ...>
</br>
相同,请使用<br>
。