Newsgroup: it.comp.lang.javascript
Titolo: problema banale con if...else

salve a tutti,
per fare il controllo dei campi prima di un submit uso questo codice:
  function checkvalues(artcode,artdesc1,artqta){
   if(trim(artcode.value)==''){
    alert('E\' necessario inserire un articolo.');
    artcode.focus();
   }else if(trim(artdesc1.value)=='' ){
    alert('L\'articolo inserito non ha descirzione.');
    artdes1.focus();
   }else if(trim(artqta.value)=='' ){
    alert('Inserito articolo con quantita\' zero.');
    artqta.focus();
   }else{
    self.document.forms[0].submit();
   }
  }
il problema e' che non capisco perche' ma viene sempre fatto il submit anche 
se uno dei campi e' nullo e dovrebbe mostrare l'errore e uscire dall'if...
grazie a tutti
dade 

 ha scritto nel messaggio 
news:46dd...@newsgate.x-privat.org...


 se si devi dare un esito e mettere un return alla tua funzione.
mmm forse e' proprio qui che sbaglio... ma non capisco lo scopo 
dell'onsubmit="..."
io ho un:
<form action="documents.php" method="post">
con un button:
<button name="action" value="save_row" 
onclick="checkvalues(campo1,campo2,campo3);">Inserisci</button>
cio' che mi aspetto che faccia la funzione e': controlla se campo1, campo2 e 
campo3 sono diversi da null e se si (l'ultimo else) fa il submit del form... 
ragionamento sbagliato?
grazie 1000 dell'aiuto!
Dade

 Dade
prego

 no
il problema e' che fa il submit incondizionato... boh :(


 ragionamento sbagliato?
Eh sì :)
-- 
Nando [?]
Apostolo della Prova

> il problema e' che fa il submit incondizionato... boh :(
sě, non me n'ero accorto il problema sta nel button devi mettere
type="button" come ti ha spiegato Nando

 type="button" come ti ha spiegato Nando
Sě ma il caro, vecchio _onsubmit="return validate(this)"_ nel form? Anche
perché se l'utente preme "invio" in un bel campo di testo, la funzione di
validazione se ne va a donnine.


 validazione se ne va a donnine.
beh, io non ho detto qual era il modo migliore e/o le mie preferenze per il
caso specifico e/o le precauzioni che bisognerebbe prendere...
Cmq da quello che so IE e FF senza submit in giro per il form, non inviano
il modulo cliccando invio in un campo testo...

 il modulo cliccando invio in un campo testo...
Uhm, mi sa che forse forse hai ragione. Mi era sfuggita la cosa perché non
mi sembra concepibile, per un sito web, un form che non possa essere
inviato senza javascript.


 Apostolo della Prova
Grazie 1000! Ho modificato il button e anche il tag form con onsubmit 
perche' giustamente come mi avete fatto notare cosi' facendo faccio la 
validazione anche se un utente mi preme invio nel campo... ora funziona 
tutto! Grazie 1000!!!
Dade 

 Uhm, mi sa che forse forse hai ragione. 
Prima di dargli ragione, una provina l'hai fatta per verificare che
effettivamente sia cosě, e che effettivamente entrambi i browser si
comportino alla medesima maniera?
-- 
~ Confondi il mondo, sorridi tutti i lunedě!

 comportino alla medesima maniera?
Alla prima prova, il submit parte sia con FF che con IE6 e senza che vi sia
alcun bottone, di alcun tipo...
Mi ricordavo qualcosa a riguardo... e mò va' a cercare nei meandri della
memoria cosa, quando, come e perché :-/
P.S. niente reference, non ho tanto tempo né tanta voglia :-P


 P.S. niente reference, non ho tanto tempo né tanta voglia :-P
idem, per oggi ho già dovuto fare i compiti :P

 P.S. niente reference, non ho tanto tempo né tanta voglia :-P
Ah, questi giovani d'oggi... :P
-- 
"Se c'č qualcosa di piů importante del mio ego su questa nave,
la voglio catturata e fucilata."

 Ah, questi giovani d'oggi... :P
Ué, ragazzino, non si prendono in giro gli anziani :-@


 stesso constatare.
e dai rinfrescaci un po' la memoria :)

 Ué, ragazzino, non si prendono in giro gli anziani :-@
Ah, già, è vero che non sei più un giovincello.. :)
-- 
~ "Io rispetto molto la stupidità umana.
E' la sola cosa che mi dia un'idea dell'eternità."
(Voltaire)

 e dai rinfrescaci un po' la memoria :)
Sarebbe anti-didattico, lo sai. E indubbiamente molto meno divertente,
per me. :D
-- 
~ "Le leggi sono come le ragnatele:
abbastanza forti per catturare i deboli,
troppo deboli per trattenere i forti."
(Anacarsi lo Scita)

 Ah, già, è vero che non sei più un giovincello.. :)
Grazie per l'eufemismo ;)
