Oppure

Loading
04/11/14 15:24
perillitommaso
<html>
<head>
<title>Somma tra addendi</title>
<script>
function somma(){
 s = (document.modulo.addendo1.value*1)+document.modulo.addendo2.value;
	document.modulo.somma.value = s;
	return true;
	}
</script>
</head>
<body>
<form name="modulo" method="get" action="http://www.google.com" onSubmit="return(somma())">
<input type="txt" name="addendo1">Insersci il primo addendo<br>
<input type="txt" name="addendo2">Inserisci il secondo addendo<br>
<input type="submit" name="go" value="Fai la somma"><br>
<input type="txt" name="somma">Risultato<br>

</form>

</body>
</html>

quando clicco su "fai la somma" mi porta direttamente su google... non riesco a capire qual'è il problema :(
aaa
04/11/14 16:14
D@vide
Postato originariamente da perillitommaso:

<html>
<head>
<title>Somma tra addendi</title>
<script>
function somma(){
 s = (document.modulo.addendo1.value*1)+document.modulo.addendo2.value;
	document.modulo.somma.value = s;
	return true;
	}
</script>
</head>
<body>
<form name="modulo" method="get" action="http://www.google.com" onSubmit="return(somma())">
<input type="txt" name="addendo1">Insersci il primo addendo<br>
<input type="txt" name="addendo2">Inserisci il secondo addendo<br>
<input type="submit" name="go" value="Fai la somma"><br>
<input type="txt" name="somma">Risultato<br>

</form>

</body>
</html>

quando clicco su "fai la somma" mi porta direttamente su google... non riesco a capire qual'è il problema :(


Il "problema" è che hai copiato questo codice al posto di pensare con la tua testa:yup:
action="http://www.google.com"
aaa
04/11/14 18:29
perillitommaso
non l'ho copiato, l'ho fatto io, ho già provato a levare action ecc ma comunque la somma non me la fa!
aaa
05/11/14 14:22
Bonny
Elenco accorgimenti:

1) dentro la func somma la variabile s non è dichiarata correttamente (var s = ....)
2) quando prelevi il valore delle text per fare la somma dovresti prima castare a int,
altrimenti se una vale "2" e l'altra "6" la somma sarà "2" + "6" = "26", perchè viene effettuata la concatenazione di stringhe
3) tag input di tipo "txt" non esistono (esiste "text")

Consiglio una lettura introduttiva al linguaggio html, javascript. Basta la classica guida di html.it
aaa
08/11/14 9:50
perillitommaso
<html>
<head>
<title>Somma tra addendi</title>
<script>
function Somma(){
 int b = document.modulo.addendo2.value;
 int a = document.modulo.addendo1.value;
  s = a+b;
	document.modulo.somma.value = s;
	return true;
	}
</script>
</head>
<body>
<form name="modulo" method="get" action="http://www.google.com" onSubmit="return(Somma())">
<input type="text" name="addendo1">primo addendo<br>
<input type="text" name="addendo2">secondo addendo<br>
<input type="submit" name="go" value="Fai la somma"><br>
<input type="text" name="Somma">Risultato<br>

</form>

</body>
</html>

ho provato a fare così ma comunque non mi esce la somma, per tua informazione non c'è bisogno di dichiarare le variabili, viene fatto solo per una questione di ordinamento del codice. l'input type txt esiste .-. :k:
aaa
09/11/14 11:47
perillitommaso
...
aaa
10/11/14 8:06
Bonny
Se lo dici tu :k:
aaa
10/11/14 10:04
tasx
Ciao,

1) Ascolta sempre i consigli degli altri soprattutto quando scrivi in un forum per chiedere aiuto
2) In javascript non puoi dichiarare le variabili per tipo, ma devi usare la parola chiave "var"(il tipo viene risolto automaticamente)
quindi la riga 6 e 7 sono errate
3) Bonny ti consigliava di "castare" i valori degli input, puoi usare le funzione parseInt e parseFloat
4) Bonny (di nuovo ;) ) ti consigliava di dichiarare la variabile "s" con il "var", questo non perchè dichiarare una variabile senza la parola chiave "var" sia sbagliato(infatti funziona comunque) ma perchè è una pratica molto pericolosa, infatti quando dichiari la variabile senza il "var" lo scope della variabile diventa quello globale quindi diventa accessibile anche all'esterno della funzione e rischi di cambiare valore ad una variabile con lo stesso nome(però contenuta in un'altra funzione). Quindi è buona cosa dichiarare le variabili sempre con il "var" in modo che restino nel giusto scope.

qui hai un esempio funzionante: jsfiddle.net/ncqgaq69/
aaa