- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Sintassi corretta con ciclo javascript
-
Sintassi corretta con ciclo javascript
quello che devo fare io è un ciclo che mi prende il valore all'interno di un campo input chiamato "prezzo_totale".Di questo campo input ce ne sono svariati,quindi devo utilizzare un ciclo che mi richiama tutti i campi e una variabile all'interno del ciclo che mi cambi il numero relativo al campo.Il problema è che non so la sintassi per farlo.Ho provato di tutto,ma niente.Quello che ho scritto sotto non mi da errore,ma mi visualizza il testo,non il valore del campo,quindi in teoria è sbagliato anche questo.
L'ho scritto solo per far capire meglio il problema.for (i=0;i<=n_web;i++){
int = 'document.form1.prezzo_totale'+i+'.value';
totale += parseFloat(int);
}Sapete dirmi la sintatti corretta per quello che voglio fare io?(sempre se mi sono spiegato)
Grazie!
-
Intanto i campi dovrebbero avere una id univoca, non solo il name. Inoltre per prendere il valore di un elemento HTML, è meglio usare document.getElementById(...).
Il codice dovrebbe essere il seguente:
var totale = 0; for (var i=0; i <= 2; i++) { var campo = document.getElementById("name" + i); if (campo != null) totale += parseFloat(campo.value); }
Ricordati di creare la variabile prima del for, altrimenti per regole di visibilità, la variabile totale sarebbe visibile solo all'interno del for, e non all'esterno.
Comunque se può esserti utile ecco un esempio dell'uso dello script
[HTML]
<html>
<script type="text/javascript">
<!--
function somma()
{
var totale = 0;
for (var i=0; i <= 2; i++) {
var campo = document.getElementById("name" + i);
if (campo != null)
totale += parseFloat(campo.value);
}alert(totale); }
//-->
</script>
<body>
<input type="text" id="name1" /><br />
<input type="text" id="name2" /><br />
<input type="button" value="Somma" onclick="somma()" />
</body>
</html>
[/HTML]
-
non so se ho fatto bene,ma io ho risolto mettendo "eval" che mi ha convertito la stringa in comando.