Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Javascript in uscita da un form
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
maraggos
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 05/05/06 18:30
Messaggi: 97
Residenza: Trieste

MessaggioInviato: 25 Mag 2007 15:39    Oggetto: Javascript in uscita da un form Rispondi citando

mi scuso ma sono alle prese col mio primo script. Dunque, io ho un form con dei bottoni radio. Onsubmit voglio far eseguire una routine di calcolo.

Prima di mettermi a programmare la routine, vorrei la sicurezza che i parametri da passare siano quelli corretti ma ... la mia sintassi dev'essere tutta sbagliata: mi aiutate ?

dunque, subito dopo al body ci metto il mio script:

<script type="text/javascript">
var partoda = 0;

function calcola(){
partoda = document.scegli.parto.value;
document.write(partoda);
}
</script>

poi ho il mio form:

<form name="scegli" method="post" action="" onsubmit="calcola();">
...
...
<td ><label for="radiobutton"></label>
<input name="parto" type="radio" value="1" /></td>
...
...

quando vado a fare un submit... mi dà una pagina bianca con un bel "undefined"

Grazie in anticipo a chi avrà la pazienza di rispondermi
Alberto
Top
Profilo Invia messaggio privato
maraggos
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 05/05/06 18:30
Messaggi: 97
Residenza: Trieste

MessaggioInviato: 25 Mag 2007 16:47    Oggetto: Rispondi citando

... mmmm... prova e riprova, .... ho l'impressione di essere decisamente fuori strada. Una domanda:

quando si aziona il "submit", visto che alla voce "action" non c'è niente, il browser immediatamente RICARICA la pagina stessa.

E quindi mi riazzera tutto.

Ma come si fa per NON ricaricare la pagina ? Io vorrei fare apparire i risultati della mia routine nella stessa pagina !



Sad
Top
Profilo Invia messaggio privato
maraggos
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 05/05/06 18:30
Messaggi: 97
Residenza: Trieste

MessaggioInviato: 25 Mag 2007 18:43    Oggetto: Rispondi citando

fra un po' mi sparo...

Dunque, dimenticate tutto.

Il problema è che javascript non mi riconosce il "value" del form. Mi spiego: il mio quadretto di bottoni radio restituisce un valore, e questo LO SO, perchè la pagina richiamata da "action" lo legge correttamente.

Invece la funzione document.scegli.parto.value .... mi dà risultato "undefined"

Giuro, non vi chiedo più niente ... ma per favore svelatemi l'arcano !!!!

Grazie
Alberto
Top
Profilo Invia messaggio privato
kluster
Dio maturo
Dio maturo


Registrato: 15/04/06 13:14
Messaggi: 2898

MessaggioInviato: 25 Mag 2007 19:21    Oggetto: Rispondi citando

prova con
function calcola(){
partoda = document.forms[0].elements['parto'].value;
document.write(partoda);
return false;
}

e <form name="scegli" method="post" onsubmit="return calcola();">

lo scopo è che il form sia confermato a seconda di cosa ritorna la funzione calcola.
Io forzo un return false per poter scrivere il valore ma senza confermare l'invio
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 25 Mag 2007 20:14    Oggetto: Rispondi citando

Dato che lo scopo è validare il form per poi fare dei conti in base a quello che hai inserito, perchè vuoi ciclare?
Il seguente codice associa al click di "bottone" l'esecuzione di "calcola()" e poi butta fuori in "idOutput" il valore scelto.
<html>
<head>
<TITLE>Prova</TITLE>
</head>
<body>
<script type="text/javascript">
var partoda=0;
function calcola()
{
// recupero tutti gli oggetti "parto" del form "scegli"
var objRadios = document.forms['scegli'].elements['parto'];
// per ogni oggetto verifico se è selezionato; in questo caso salvo il valore
for (var i=0;i<objRadios.length;++i)
if (objRadios[i].checked)
{
partoda=objRadios[i].value;
break;
}
// scrivo l'ouput
document.getElementById('idOutput').innerHTML='Valore: ' + partoda;

}
</script>
<form name="scegli" method="post" action="">
<input type="radio" name="parto" value="1"/>&nbsp;1<br>
<input type="radio" name="parto" value="2"/>&nbsp;2<br>
<input type="radio" name="parto" value="3"/>&nbsp;3<br>
<input type="radio" name="parto" value="4"/>&nbsp;4<br>
<input type="button" name="bottone" value="Vai" onClick="javascript:calcola();">
</form>
<div id="idOutput"></div>
</body>
</html>

Se non ho capito il problema, scusami.
Top
Profilo Invia messaggio privato
maraggos
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 05/05/06 18:30
Messaggi: 97
Residenza: Trieste

MessaggioInviato: 26 Mag 2007 09:00    Oggetto: Rispondi citando

grazie, grazie ! Mi avete svelato il mistero ! in realtà, il "value" del set di bottoni (ovvero QUALE bottone con lo stesso "name" viene azionato) viene elaborato dal server DOPO il submit ! Lato client bisogna quindi andarselo a cercare da soli !

Ho capito bene ?

Ancora grazie
Saluti
Alberto
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 26 Mag 2007 19:24    Oggetto: Rispondi

Più o meno è così.
Javascript lavora lato client percui una volta che la pagina è pronta, tu puoi agire su essa (eventualmente modificarla) con uno script.
Se tu vuoi validare un form hai 2 vie:
1) Se usi un linguaggio tipo php o asp devi far ciclare il form e avere da qualche parte nella pagina, prima della definizione del form, del codice (php, asp etc...) che elabori i valori che ti trovi in querystring (post o get). A quel punto a seconda di quello che ti trovi decidi cosa fare.
2) Tramite javascript (o vbscript) puoi accedere a tutti gli oggetti della tua pagina prima di ciclarla.
I tuoi radio hanno lo stesso nome perchè al ciclo del form vuoi solo il valore del radio selezionato ma javascript può solo "vedere" il valore di tutti i tuoi radio. Allora il mio codice non fa altro che cercare quello che ha la proprietà checked attiva e memorizza il valore.
Tramite AJAX puoi spingere all'estremo i due concetti precedenti ottenendo come risultato un sw web-based che unisce la potenza di php (o asp o simili) all'elasticità di javascript.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi