PDA

View Full Version : [Javascript] Ritornare un valore al form


Fire Fox II
13-11-2005, 18:23
Salve raga :)

allora, dovrei creare una pagina html che mi consenta di effettuare conversioni euro->lire e viceversa

Ho creato la pagina con 2 funzioni javascript, per le due conversioni, e 2 campi form che mi consentono di inviare il valore, in questo modo


function buttonPushed1() {
var x2=document.euro.v1.value;
var x1=(x2 * 1936.27);
return x1; }

function buttonPushed2() {
var x2=document.lire.v2.value;
var x1=(x2 / 1936.27);
return x1; }


<form name="euro">
<input name="v1" type="text" maxlength="10">
<p align="center"><input type="submit" value="Euro in Lire" onClick="document.write(buttonPushed1())"></p>
</form>

<form name="lire">
<input name="v2" type="text" maxlength="10">
<p align="center"><input type="submit" value="Lire in Euro" onClick="document.write(buttonPushed2())"></p>
</form>


Il risultato della funzione è esatto, solo che mi compare in una nuova pagina, quando invece dovrei farlo comparire nel campo "text" del form accanto...

Chi può aiutarmi?

Thanks :)

Fire Fox II
14-11-2005, 22:21
:(

0rph3n
14-11-2005, 23:18
<form name="euro">
<input name="v1" type="text" maxlength="10">
<p align="center"><input type="submit" value="Euro in Lire" onClick="document.lire.v2.valuebuttonPushed1()"></p>
</form>

<form name="lire">
<input name="v2" type="text" maxlength="10">
<p align="center"><input type="submit" value="Lire in Euro" onClick="document.euro.v1.value = buttonPushed2()"></p>
</form>
io comunque passerei il valore da convertire come parametro.

'iao

Fire Fox II
15-11-2005, 11:37
Ok grazie, ora funziona :)

Mi è rimasto un piccolo problema però: quando clicco sul tasto per inviare il valore, mi viene caricata una nuova pagine con errore (perchè inesistente) :confused: . Come mai?

kk3z
15-11-2005, 11:53
Beh perchè il form ha bisogno di un "action" cioè una pagina che riceve i dati del form, ma nel tuo caso visto che non lo usi dovrebbe bastare
<form action="#" name="...">

Ritorno al futuro :cincin:

Fire Fox II
15-11-2005, 17:57
Beh perchè il form ha bisogno di un "action" cioè una pagina che riceve i dati del form, ma nel tuo caso visto che non lo usi dovrebbe bastare
<form action="#" name="...">

Mmmh, ho provato così, ma mi fa subito il refresh della pagina :(

Ritorno al futuro :cincin:

:mano:

kk3z
15-11-2005, 18:12
Già è vero, prova a togliere il <form> e usare forms[numero_del_form] invece di "lire" ed "euro"

Fire Fox II
17-11-2005, 19:47
Già è vero, prova a togliere il <form> e usare forms[numero_del_form] invece di "lire" ed "euro"

Ehm, scusa il ritardo :)

Mmmh, puoi spiegarti meglio? Non ho ben capito la correzione che dovrei fare... :what:

:)

pinok
17-11-2005, 21:19
Prova a toglie TYPE="submit" e mettere TYPE="button" oppure tieni il submit ma dentro al tag FORM mettici onSubmit="return buttonPushed2()" (e toglilo dal tag INPUT).
Poi modifichi buttonPushed2 mettendo in fondo:

document.euro.v1.value = IL_VALORE_CALCOLATO;
return false;

Il return false ti serve per impedire di dare corso alla action che comporta comunque un refresh della pagina.

Fire Fox II
18-11-2005, 09:11
Prova a toglie TYPE="submit" e mettere TYPE="button" oppure tieni il submit ma dentro al tag FORM mettici onSubmit="return buttonPushed2()" (e toglilo dal tag INPUT).
Poi modifichi buttonPushed2 mettendo in fondo:

document.euro.v1.value = IL_VALORE_CALCOLATO;
return false;

Il return false ti serve per impedire di dare corso alla action che comporta comunque un refresh della pagina.

Ok, grazie! :)

Mi è bastato cambiare il campo TYPE="submit" con TYPE="button" ed ora funziona a dovere :cool:

:)

max246
18-11-2005, 09:56
Ok, grazie! :)

Mi è bastato cambiare il campo TYPE="submit" con TYPE="button" ed ora funziona a dovere :cool:

:)


asd asd -.-'

<form ac.... alla fine insersci: onsubmit="return false">

Cosi il forum non si aggiorna