Newsgroup: it.comp.lang.javascript
Titolo: Mail

Ciao a tutti,
ho un piccolo problema che non riesco a risolvere, perché purtroppo conosco
pochissimo javascript.
Mi appassiona molto ma... dovrei solo trovare il tempo da dedicare x
imparare questo grande assistente!
In pratica ho un js che controlla la correttezza della mail in un form e,
devo dire che il suo lavoro lo fa!
purtroppo però il controllo viene svolto solo se con il mouse clicchi sul
campo e se  non scrivi nulla passando su un'altro campo
allora agisce "alert"!
cliccando "invia" Senza scrivere l'indirizzo e-mail arrivano tutti i dati
ugualmente tranne che l'indirizzo e-mail (fattore importante).
Avrei, invece, l'esigenza che diventasse obbligatorio scrivere l'indirizzo
e-mail, oltre che, controllare la correttezza.
Grazie in anticipo a chi potrà darmi una mano.
scrivo di seguito lo script:
<SCRIPT LANGUAGE="JavaScript">
function verificaCorrettezzaIndirizzo(valoreInput) {
    var trovataChiocciola = false
    var trovatoPunto = false
    var posizioneChiocciola = -1
    var posizionePunto = -1
    for (var i=0; i<=valoreInput.length; i++) {
      if (valoreInput.charAt(i) == "@" ) {
          trovataChiocciola = true
          posizioneChiocciola = i
      }
      else if (valoreInput.charAt(i) == ".") {
          trovatoPunto = true
          posizionePunto = i
      }
    }
    if ((trovataChiocciola && trovatoPunto) && (posizioneChiocciola <
posizionePunto)) {
        return true
    }
    else {
  alert("Spiacenti, l'indirizzo di posta elettronica che avete inserito non
è valido. Per favore, provate di nuovo.")
        return false
    }
}
</SCRIPT>

 l'indirizzo e-mail, oltre che, controllare la correttezza.
Io non ho capito quando viene scatenata la function che indichi sotto; dò
per scontato che sia onsubmit(), e che valoreInput sia la proprietà text
dell'input text contenente l'indirizzo e-mail; in tal caso puoi
semplicemente verificare all'inizio: per esempio se all'inizio della
function metti
if(valoreInput.Length==0) {alert("devi digitare un indirizzo e-mail");
return false;}
Dovrebbe già andar bene (sempre che le mie premesse indicate sopra siano
esatte)
-- 
"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. -- 

 esatte)
Ciao Cristiano per farti capire esattamente ti faccio c/i della form invio:
//<FORM ACTION="mailvinto.php" METHOD="POST">
            <p> <b><font face="Verdana, Arial, Helvetica, sans-serif"
size="-2"><font color="#003333">Nome
              e Cognome</font></font></b>
              <input name="Nome" type="text" />
              <br>
              <br>
              <b><font face="Verdana, Arial, Helvetica, sans-serif"
size="-2"><font color="#003333">Indirizzo
              E-Mail:</font></font></b>
              <input name="MailFromAddress"
type="text"onBlur="verificaCorrettezzaIndirizzo(this.value)">
            </p>
            <p> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2"
color="#003333"><b><font face="Verdana, Arial, Helvetica, sans-serif"
size="-2"><font color="#003333">Citt&agrave;
              e Provincia</font></font></b></font>
              <input name="Oggetto" type="text" />
            </p>
            <p><br>
              <textarea cols="50" rows="5" name="Messaggio">Quali numeri hai
giocato ?
</textarea>
              <br>
              <br>
              <input type="submit" name="" value="Invia">
            </p>
    </form>//
Spero che in questo mofo riesca a darmi una mano.
Ti ringrazio anticipatamente.

Fai come ti ho detto: metti il controllo onsubmit() della form anziché
onblur() della textbox.
Non ho tempo di leggere bene lo script, comincia a fare cosě e a vedere se
funziona, altrimenti posta un estratto con il problema rilevato.
