View Full Version : [javascript] valori sballati
ciao a tutti,
ho una pagina jsp che crea dinamicamente le chiamate ad una funzione javascript, praticamente una cosa del genere:
<input type="radio" id="cLivello<%=indice%>" name="cLivello<%=indice%>" value="<%=valore%>" ondblclick="azzera(<%=indice%>,5);">
il problema è che nonostante il fatto che nell'html risultante i valori siano corretti, nella funzione javascript azzera mi vengono sballati!
se ad esempio indice vale 0 e quindi l'html risultante sarà:
<input type="radio" id="cLivello0" name="cLivello0" value="pippo" ondblclick="azzera(0,5);">
un'alert interno alla funzione azzera mi restituisce 107.
non ci capisco più niente :cry:
qualcuno ha qualche idea in merito?
grazie e 'iao
un'alert interno alla funzione azzera mi restituisce 107.
non ci capisco più niente :cry:
qualcuno ha qualche idea in merito?Così è un po' difficile. Posta il codice di azzera().
function azzeraEsperienza(indice){
alert(indice);
alert(parseInt(indice));
var cLivello = 'cLivello' + parseInt(indice);
var CancLiv = 'CancLiv' + parseInt(indice);
document.all.item(CancLiv).value = "-1";
var i=0;
for( i = 0 ; i < document.all.item(cLivello).length; i++)
{
//azzera lo stato del gruppo radio
if (document.all.item(cLivello)[i].checked == true)
document.all.item(cLivello)[i].checked = false;
}
}
nel frattempo l'ho semplificata, tanto gli basta un parametro!
quei due alert danno sempre un risultato diverso da quanto scritto effettivamente nel codice html!
per quanto riguarda document.all e tutte le porcherie che ci sono, non occorrono consigli, purtroppo sta webapp è stata fatta un po' di tempo fa da un'altra persona che se ne infischiava degli standard...per non parlare di 10 tabelle una annidata nell'altra :cry: e se dovessi aggiustare tutto non finirei più (e qua dentro tral'altro non ne frega niente a nessuno a quanto pare)!
comunque, non è che per caso potrebbe essere un problema di codifica del file?
sotto questo punto di vista non ho mai capito na mazza, ma ho letto che netbeans (sto usando il 5 sotto fedora core 5) fa un po' quello che vuole, così mi è venuto in mente che forse potrebbe essere questa la causa!
grazie mille intanto
'iao
aggiungo un info e uppo!
nonostante tra javascript e html i valori siano differenti, la funzione azzera:
...
var cLivello = 'cLivello' + parseInt(indice);
...
for( i = 0 ; i < document.all.item(cLivello).length; i++)
{
//azzera lo stato del gruppo radio
if (document.all.item(cLivello)[i].checked == true)
document.all.item(cLivello)[i].checked = false;
}
fa il suo lavoro, nel senso che dechecka il radio del gruppo giusto!
quindi document.all.item(cLivello) dove la variabile cLivello in javascript ha come valore "cLivello107" mi prende correttamente l'oggetto "cLivello0" (correttamente nel senso che cLivello dovrebbe valere "cLivello0" in quanto è composto da "cLivello" + indice; dove appunto l'indice passato è 0)
oddio ogni spiegazione che do è sempre più incasinata, beh spero che riusciate a capirmi!
e soprattutto ad aiutarmi!
'iao
altra info che mi stavo dimenticando, esplorando la pagina con un qualsiasi dom explorer, risulta che effettivamente abbia ragione javascript e che la visualizzazione del codice html sia sbagliata, in quanto l'id dell'oggetto preso in esame vale "cLivello107" e non "cLivello0"
:mc: :mc: :cry: :cry:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.