Newsgroup: it.comp.lang.javascript
Titolo: calcolare il valore di più campi

Ciao a tutti,
il mio problema è questo.
ho un form. in questo form ho bisogno di calcolare il totale della
quantità e dell'importo inserito.
il fatto è che, avendo i campi tutti lo stesso nome, in javascript non
mi riesce di creare l'array e di sommare i valori.
ecco le righe degli elementi:
<input type="text" size="2" name="requiredQuantita">
<input type="text" size="4" name="requiredPrezzoVendita">
alla fine avrò un altro elemento input che visualizzerà il totale dei
requiredQuantita e un altro che visualizzerà il totale dei
requiredPrezzoVendita.
io ho provato a fare una funzione che, tramite onblur, calcola via via
il totale, ma il fatto è che quando torno con il puntatore 2 volte
nello stesso campo, mi fa 2 volte la somma.
vorrei quindi creare una funzione che all'onclick mi riprenda i valori
di tutti i campi, mi faccia la somma e mi visualizzi il risultato.
mi basta sapere come si fa a fare l'array degli elementi!
Grazie mille
Ciao!!
Maurox

 mi basta sapere come si fa a fare l'array degli elementi!
Se gli oggetti stanno all'interno di un form puoi usare :
obj = document.getElementById("id_form");
ora obj ha una proprietą array che contiene gli elementi che fanno perte
del form a cui puoi accedere con :
obj.elements[array_inedx];
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


grazie mille per la risposta, ma non può funzionare nel mio caso.
il fatto è che ho altri elementi nel form e poi non posso sapere quali
si riferiscono alle quantità e quali ai prezzi solo tramite l'indice
dell'array.
il numero di righe relative a prezzi/quantità è variabile e non posso
assegnare un numero esatto.
io pensavo di far creare un array al volo, facendo una cosa che in asp
sarebbe (dopo il submit):
totQta = split(request.form("re..."),",")
totPrezzi = split(request.form("re..."),",")
e poi far girare l'array totQta e prezzi per fare il totale degli
elementi in esso contenuti.
mi servirebbe l'equivalente in javascript...
grazie ancora per l'aiuto!!


Ciao.
Gurda se questo codice può
esserti utile.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd
">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="JavaScript" type="text/JavaScript">
var tot = new Array();
function init()
{
	myform = document.getElementsByTagName('form')[0];
	nElementsForm = myform.elements;
	nElementsForm[0].focus();
	addEvent(nElementsForm[0],'blur',setTot,false);
	addEvent(nElementsForm[1],'blur',setTot,false);
	addEvent(nElementsForm[2],'click',getTot,false);
}
function setTot(e)
{
	var target = getTarget(e);
	tot.push(target.value);
	cancelClick(e);
}
function getTot()
{
	alert(tot);
}
function addEvent(elm, evType, fn, useCapture)
{
	if (elm.addEventListener)
	{
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent)
	{
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else
	{
			elm['on' + evType] = fn;
	}
};
function cancelClick(e)
{
	if (window.event)
	{
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return;
	}
	if (e)
	{
			e.stopPropagation();
			e.preventDefault();
	}
};
function getTarget(e)
{
		var target = window.event ? window.event.srcElement : e ? e.target :
null;
		if (!target){return false;}
		return target;
};
addEvent(window,'load',init,false);
</script>
</head>
<body>
<form name="frm" id="frm" action="">
<input  type="text" size="2" name="requiredQuantita">
<input type="text" size="4" name="requiredPrezzoVendita">
<input name="test" type="button" value="test">
</form>
</body>
</html>
Fammi sapere 
;)