Newsgroup: it.comp.lang.javascript
Titolo: Validazione in javascript di una form, utilizzando Struts

Ciao a tutti.
Ho difficoltà ad attivare una validazione javascript, in sostanza
vorrei richiamare la funzione validazione(form) che dovrebbe
restituire un valore true se i dati sono corretti, false altrimenti.
Ovviamente il senso è che se viene restituto false la action del form
NON deve essere eseguita...
Sto utilizzando Struts, e vorrei effettuare questa validazione per
ogni submit che viene fatta. Ho postato qui perchè credo che sia un
problema di javascript. Il problema infatti è che l'istruzione viene
completamente ignorata e l'action viene eseguita! Ho provato ad
inserire un alert("vado") per vedere se la funzione viene richiamata
ma ciò non avviene. Se fosse utile saperlo, sono sotto IE 7 (e questo
secondo me complica, non è il massimo... purtroppo è una scelta
imposta)
Ecco il codice "incriminato":
<script type=text/javascript">
	function validazione(form){
	alert("vado");
		//valida il campo durata
		var verificato=false;
		var tipoSel=form.granularita.value;
		var durataSel=form.durata.value;
		if (tipoSel=="")
			alert("E' necessario specificare un tipo di previsione.");
		else if (durataSel=="" || isNaN(durataSel) || parseInt(durataSel)<0
|| parseInt(durataSel) > 9999)
			alert("La durata deve essere un numero intero positivo.");
		else {
			form.submit();
			return true;
		}
		return verificato;
	}
</script>
[...]
<html:form action="/login.do?method=preparaPrevisioneDomanda"
onsubmit="return validazione(this)">
[...]
</html:form>
Per chi non conoscesse struts, questo è il codice HTML che viene
generato in corrispondenza del tag <html:form>:
<form name="loginForm" method="post" action="/RischioZero/login.do?
method=preparaPrevisioneDomanda" onsubmit="return validazione(this)">
Per la cronaca, ho provato sia
validazione(this)
che
validazione(this.form)
(quale è corretta delle due nell'esempio?), ma non riesco a far
funzionare comunque la cosa.
Spero che possiate darmi una mano.... grazie
S.

 Spero che possiate darmi una mano.... grazie
o il problema è, come ti dicevo, il nome del parametro, oppure l'errore è
da qualche altra parte.
Oppure non viene eseguita perché c'è un errore nel js, in tal caso con
firefox lo becchi immediatamente.
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 è la form (quindi this)
ok, thanks

 che uso firefox abitualmente.......... :) )
e cosa dice?
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 e cosa dice?
Dunque, forse sono io che sono completamente fuori strada ma non ho
capito sul serio....
Dice che la funzione validazione non è definita ( "validazione is not
defined" )
Ergo....??

 defined" )
<script type=text/javascript">
hai scritto proprio cosě? con una sola virgoletta? se sě l'errore sta qua
...
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 hai scritto proprio così? con una sola virgoletta? se sì l'errore sta qua
Era esattamente questo il problema.
<script type="text/javascript">
Mi dispiace di aver aperto un post per una banale virgoletta, ma senza
il tuo aiuto non credo che ne sarei uscito tanto facilmente.
Probabilmente è il caso che utilizzi qualche plugin di eclipse che
evidenzi la riga dove risiede un problema (gia conosco poco
javascript,ci manca solo che debba procedere praticamente alla
cieca...) Ne conosci qualcuno per caso?
Grazie mille :)

 plugin di eclipse [...] Ne conosci qualcuno per caso?
Prova Aptana. E' un insieme di plugin che offre un bel
po' di cose.
-- 
Nando

 <script type=text/javascript">
c'e' una doppia virgoletta di apertura mancante nel valore dell'attributo
-- 
The lie is sacred and deception will be our principal weapon