Problema con innerHTML

  • Creatore Discussione Creatore Discussione Grinder
  • Data di inizio Data di inizio

Grinder

Nuovo Utente
19 Mag 2005
9
0
0
Ho questo codice, che nei miei sogni dovrebbe mostrare delle scritte a fianco dei radiobutton non selezionati:
Codice:
<script language="javascript">
var vecchio_valore_radio = 0;

   function vecchiovalore(nome) {
   for (i=0;i<document.form1[nome].length;i++){
   if (document.form1[nome][i].checked==true)    {
   vecchio_valore_radio = document.form1[nome][i].id;
   break
   } else {
   vecchio_valore_radio = 0;
   } 
   }
   }

function scrivivalore(nome){
for (i=0;i<document.form1[nome].length;i++){
if (document.form1[nome][i].checked==false) {
testo = "";
} else {
testo = " <b>["+(Math.round(document.form1[nome][i].id)-Math.round(vecchio_valore_radio))+"]</b>";
}
}
id_span = document.form1[nome][0].value;
if(document.getElementById('id_span')) { 
document.getElementById('id_span').innerHTML = testo;
} else {
return false;
}
}
</script>
<body>
<form name="form1" method="post" action="">
  <p>
    <input name="radiobutton" type="radio" onfocus="vecchiovalore(this.name);" onclick="scrivivalore(this.name);"  id="50">Primo radio <span id="primo"></span></p>
  <p>
    <input name="radiobutton" type="radio" onfocus="vecchiovalore(this.name);" onclick="scrivivalore(this.name);" id="13">Secondo radio <span id="secondo"></span></p>
  <p>
    <input name="radiobutton" type="radio" onfocus="vecchiovalore(this.name);" onclick="scrivivalore(this.name);" id="100">Terzo radio <span id="terzo"></span></p>
</form>
Il problema all'inizio era che fosse troppo statico e funzionava bene solo se ci sono 2 sole opzioni, così ho provato a renderlo un pò più dinamico, ma non scrive niente a video (e non da nessun errore)! Nelle precedenti prove con soli due radio funzionava, però impostavo direttamente la variabile "testo" con 3 variabili differenti (testo, testo2, testo3)
 

Discussioni simili