Questa operazione apparentemente banale nasconde una piccola insidia con Internet
Explorer.
La scelta migliore rimane quella di utilizzare un framework Javascript come Jquery ma se tale scelta non fosse possibile....
Con Firefox e Chrome si può usare il costrutto:
Con Internet Explorer tale istruzione non funziona, e bisogna utilizzare
Explorer.
La scelta migliore rimane quella di utilizzare un framework Javascript come Jquery ma se tale scelta non fosse possibile....
Con Firefox e Chrome si può usare il costrutto:
document.getElementById("idCampo").setAttribute("readonly","readonly");
Con Internet Explorer tale istruzione non funziona, e bisogna utilizzare
document.getElementById("idCampo").readOnly=true;
Di seguito il codice di un esempio, abbiamo una combo al cui evento onchange per un particolare codice si inibisce la scrittura nella textbox sottostante.
<html>
<head>
<script>
function disabilitaAbilita(){
if(document.getElementById("test").value=="1")
{
document.getElementById("firstName").value="Scrittura inibita!!!!";
//document.getElementById("firstName").setAttribute("readonly","readonly");
document.getElementById("firstName").readOnly=true;
}
else
{
document.getElementById("firstName").value="";
//document.getElementById("firstName").removeAttribute("readonly");
document.getElementById("firstName").readOnly=false;
}
}
</script>
</head>
<body onload="disabilitaAbilita()">
<form > Scelta
<SELECT name="example" id="test" onchange="disabilitaAbilita()">
<OPTION selected value="1">UNO </OPTION>
<OPTION value="2">DUE</OPTION>
<OPTION value="3">TRE</OPTION>
<OPTION value="4">QUATTRO</OPTION>
</SELECT>
<br>
Testo<textarea type="text" name="firstname" id="firstName">
</form>
</body>
</html>
Ecco l'esempio renderizzato:
Nessun commento:
Posta un commento