Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187

    Modifica script per e-mail

    Ciao a tutti,
    dovrei modificare questo script:

    codice:
    miaStringa = form.newsletter.value;
      if (miaStringa.indexOf("@")==(-1)  || miaStringa.indexOf(".")==(-1)) {
    	alert("Inserisci un indirizzo e-mail valido!.")
    	form.newsletter.focus();
    	return false
      }
    in modo che mi limita a i 4 caratteri dopo il punto per prendere solo estensioni valide per capirci it com net info ecc.), qualcuno può aiutarmi?

    Nadia

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Forse si puo` fare un controllo piu` preciso, usando una RegExp:
    codice:
    var campo = document.NOMEFORM.NOMECAMPO; /* o equivalente */
    if(!campo.value.match(/^\w+\@(\w+\.)+\w{2,4}$/) {
      alert("Inserisci un indirizzo e-mail valido!.");
      campo.focus();
      return false
    }
    Nota che prima del nome del form, c'e` l'oggetto document. (obbligatorio per molti browser)
    form come nome del form non e` valido (e` usato dal DOM)

    il \w per alcuni nomi potrebbe non essere sufficiente; in tal caso puoi sostituire le prime due volte con:
    [\w\-]
    o altre combinazioni (all'interno della quadra devono essere presenti tutti i caratteri non alfanumerici che ci possono essere, preceduti ciascuno da \ )
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Scus ama non riesco ad applicare la tua funzione io ho questo codice:

    codice:
    <SCRIPT language=JavaScript>
    <!--
    function winopen1(form){
      if (form.newsletter.value.length < 2) {
    	alert("L'indirizzo di posta elettronica deve contenere almeno due caratteri!.")
    	form.newsletter.focus();
    	return false
      }
      miaStringa = form.newsletter.value;
      if (miaStringa.indexOf("@")==(-1)  || miaStringa.indexOf(".")==(-1)) {
    	alert("Inserisci un indirizzo e-mail valido!.")
    	form.newsletter.focus();
    	return false
      }
      win1=window.open ("", "click1", "history=no,resizable=no,status=no,scrollbars=no,menubar=no,width=300,height=250");
    }
    //-->
    </SCRIPT>
    e l'ho modificato in questo modo:

    codice:
    <SCRIPT language=JavaScript>
    <!--
    function winopen1(form){
    var newsletter = document.form.newsletter; /* o equivalente */
    if(!newsletter.value.match(/^\w+\@(\w+\.)+\w{2,4}$/) {
      alert("Inserisci un indirizzo e-mail valido!.");
      newsletter.focus();
      return false
    }
    
      if (form.newsletter.value.length < 2) {
    	alert("L'indirizzo di posta elettronica deve contenere almeno due caratteri!.")
    	form.newsletter.focus();
    	return false
      }
      win1=window.open("", "click1", "history=no,resizable=no,status=no,scrollbars=no,menubar=no,width=300,height=250");
    }
    //-->
    </SCRIPT>
    non mi dà errore ma neanche controlla l'estensione! Dove sbaglio? :master:

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ecco una versione piu` corretta (forse e` anche senza errori)
    codice:
    function winopen1(ff){
      var nl = ff.newsletter; 
      if(!nl.value.match(/^\w+\@(\w+\.)+\w{2,4}$/) {
        alert("Inserisci un indirizzo e-mail valido!.");
        nl.focus();
        return false;
      }
    
      if (nl.value.length < 2) {
        alert("L'indirizzo di posta elettronica deve contenere almeno due caratteri!.")
        nl.focus();
        return false;
      }
      win1=window.open("", "click1", "history=no,resizable=no,status=no,scroll
    bars=no,menubar=no,width=300,height=250");
    }
    Nota che la seconda parte e` inutile: dopo il filtro dato da quella RegExp, il campo non puo` essere di un carattere o vuoto.

    A che ti serve aprire una finestra vuota? (mi riferisco all'ultima riga) Che ci metti dentro?

    Con che istruzione chiami la funzione? Posta tutto il tag HTML con l'evento.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Niente non mi funziona!
    Non so perchè ma non me la richiama, ci penserò dopo...
    La finestra non è vuota viene poi richiamata per confermare l'iscrizione alla mailing list.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.