Newsgroup: it.comp.lang.javascript
Titolo: CREAZIONE FORM CALCOLO PREVENTIVI

Salve, vorrei realizzare uno script che  possa consentire ai visitatori di
calcolare il prezzo di una struttura, impostando la lunghezza e la largezza
inserita in un form. Quale è la formula che mi consente di calcolare la
superficie e moltiplicarla per il costo a mq?
Grazie

Il Tue, 02 Jan 2001 18:33:36 GMT, Gianluigi Piludu ha scritto.....

Non ho capito bene la domanda.... spero! :-O
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

 superficie e moltiplicarla per il costo a mq?
Oddio, letta cosě tutta d'un fiato sembra qualcosa tipo "base per
altezza per costo" (b * a) * c ... ma magari ho capito male :)
:) Roberto

 ha scritto nel messaggio
news:1emr8sp.10m0nln732ux2N%rodic....@tin.it...

Ciao Roberto, scusa se mi sono espresso male, ma visto che con javascript ho
iniziato da qualche settimana, anche un semplice calcolo matematico č per me
un problema.
Poniamo il caso che voglia dare a Łmq il valore 100.000, nella pagina html
compaiano due aree di testo, una per la lunghezza, una per la larghezza e un
tasto "calcola". Come devo inpostare lo script ?
Ringrazio anticipatamente chiunque voglia aiutare un novizio del linguaggio
!!!

 tasto "calcola". Come devo inpostare lo script ?
Caschi bene, anch'io sono principiante :)
Di base lo script del tuo modulo per inserire i dati dovrebbe essere
questo:
<html>
<head>
<title>Calcola preventivo</title>
</head>
<body>
<form name="modulo">
<input type="text" name="valore_1">lato 1 (in metri)
<br>
<br>
<input type="text" name="valore_2">lato 2 (in metri)
<br>
<br>
<input type="text" name="risultato">
<br>
<br>
<input type="button" value="calcola" onClick="risultato.value =
(valore_1.value * valore_2.value) * 100000">
</form>
</body>
</html>
Però tieni presente che lo script andrebbe arricchito con qualche riga
per validare l'input dell'utente. Pensa a questi casi:
-- l'utente ha inserito anche una lettera lettere (per esempio "2 m")
-- l'utente ha inserito valori decimali separati da una virgola e con
lettere (per esempio "2,5 m")
Non sono operazioni difficilissime, richiedono solo un po' di pazienza.
Probabilmente esistono script già predisposti e qualcuno che ne sa di
più potrebbe dirti dove reperirli !
Ciao,
_Roberto

 un problema.
Ok, adesso č chiaro.
Scusami ma la tua domanda faceva supporre proprio quello che Roberto ti ha 
detto... :-)
Lo script che vuoi č questo, completo di controllo sui campi di inserimento 
che contengono numeri:
<HTML>
<HEAD>
<SCRIPT>
<!--
var costomq = 10000;
function calcola()
	{
	with (document.costo)
		{
		if (isNaN(lato1.value) || isNaN(lato2.value))
			{
			alert("Solo numeri");
			}
			else
			{
			risultato.value=eval(lato1.value*lato2.value)*10000;
			}
		}
	}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="costo">
<INPUT TYPE="text" NAME="lato1" VALUE=""> <BR>
<INPUT TYPE="text" NAME="lato2" VALUE=""> <BR>
<INPUT TYPE="text" NAME="risultato" VALUE=""> <BR>
<INPUT TYPE="button" VALUE="clicca" onClick="calcola()">
</FORM>
</BODY>
</HTML>
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo č abbastanza lontano.
------------------------------------------------------------------------

 che contengono numeri:
Aprofitto della tua disponibilità per cercare fugare un dubbio ...
Avevo letto da qualche parte che per utilizzare l'input di un campo di
testo come numero bisogna prima passare dalla funzione parseFloat().
Ho fatto qualche prova con e senza parseFloat(), oe ho visto che anche
senza i numeri vengono trattati come numeri per default.
Allora mi è ventuo il dubbio: che la funziona parseFloat() fosse
necessaria prima di NN4 e IE 4 mentre i broser delle generazioni
successive eseguono atuomaticamente il riconoscimento delle cifre nei
campi di testo ... ?
Ciao
:) Roberto 

Il Tue, 9 Jan 2001 16:56:36 +0100, Roberto ha scritto.....

Ci sono situazioni (ma non ti so fare una casistica) in cui i campi testo 
vengono trattati come stringhe, cosa che di fatto dovrebbe essere naturale, 
anche a livello intuitivo, essendo appunto dei campi "testo" e non "numero".
Per evitare dubbi e possibili errori direi che è comunque consigliabile passare 
per parseFloat() o parseInt() comunque, anche con l'aiuto di eval() se del 
caso.
La fatica è poca in fondo... :-)
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

 l'aiuto di eval() se del caso. La fatica è poca in fondo... :-)
Seguiro' il saggio suggerimento ... Sto studiando sulla guida di David
Flanagan (JavaScript - La guida, ed. Apogeo, lit. 78.000, la consiglio a
tutti i novellini come me), e ogni tanto vengono fuori tali discrepanze
di comportamento e bug fra browser diversi o anche fra le
sotto-sotto-versioni stesso browser che dopo un po' gira la testa ...
Nell'esempio di un pulsante a quattro stati (nel capitolo "Document
Object Model") l'array che contiene le immagini del pulsante viene
creato non con il nome di una variabile ma come una proprietà del
costruttore del pulsante, e cio' a causa di "un bug di Navigator". C'e'
da farsi venire il mal di testa ... :)
Grazie e buon lavoro, Roberto