Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it L'avatar di stranyera
    Registrato dal
    Feb 2001
    Messaggi
    1,101

    javascript per convalida form

    ciao ragazzi...ci riprovo...

    ho questo javascript nell'head della mia pagina che mi controlla i campi che il visitatore non riempie
    codice:
    function VerificaForm(FORM){
    if(FORM.nome.value==""){
    alert("Inserire nome e cognome");
    FORM.nominativo.focus();
    return false;
    }
    if(FORM.email.value==""){
    alert("Inserire email");
    FORM.email.focus();
    return false;
    }else if(!FORM.email.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){
    alert("Email errata");
    FORM.email.focus();
    return false;
    }
    if(FORM.oggetto.selectedIndex==0){
    alert("Attenzione indica il motivo del contatto");
    FORM.conoscenza.focus();
    return false;
    }
    if(FORM.messaggio.selectedIndex==0){
    alert("Attenzione scrivi il tuo messaggio");
    FORM.database.focus();
    return false;
    }
    }
    mi funziona correttamente pero' quando clicco su "ok" della popup alert, il form viene processato e quindi mi carica la pagina successiva (send.php) come se mi inviasse i dati via mail...e infatti io poi ricevo la mail ovviamente pero' vuota.

    vi posto anche il codice del form:
    codice:
    <form action="send.php" method="post" name="TheForm" id="TheForm" onSubmit="return VerificaForm(this)">
    <fieldset id="informazioni">
    
    
    <label for="nome">Nome e Cognome*:</label><input type="text" name="nome" id="nome" value="" tabindex="1" accesskey="n"  title="Inserisci il tuo nome" /></p>
    
    
    <label for="email">Email*:</label><input type="text" name="email" id="email" value=""  tabindex="2" accesskey="e"  title="Inserisci il tuo indirizzo e-mail"/></p>
    
    
    <label for="oggetto">Oggetto*:</label><input type="text" name="oggetto" id="oggetto" value="" tabindex="3" accesskey="w"  title="Inserisci il motivo del contatto"/></p>
    
    
    <label for="commento">Messaggio*:</label>
    <textarea name="messaggio" cols="20" rows="7" id="messaggio" tabindex="4" accesskey="m" title="Inserisci qui il tuo commento"></textarea>
    </p>
    <input name="submit" type="submit" id="invia"  value="Invia" tabindex="5" accesskey="I"  title="Invia il tuo messaggio"/>
     
    <input id="annulla" type="reset" value="Cancella" tabindex="6"  accesskey="r" title="Cancella i campi"/>
    </fieldset>
    <input type="hidden" name="MM_insert" value="invia_mail">
    </form>
    come risolvere questo problema?
    ...un'altra cosa. esiste il modo per evitare la popup-alert e segnalare l'errore direttamente all'interno del form?

    Grazie mille dell'aiuto

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    cosi funziona:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <script language="javascript" type="text/javascript">
    function VerificaForm(){
    var Nominativo = document.getElementById("nominativo")
    if(Nominativo.value==""){
    document.getElementById(Nominativo.name.toUpperCase()).style.display='inline';
    Nominativo.focus();
    return false;
    }
    var Email = document.getElementById("email")
    if(Email.value==""){
    document.getElementById(Email.name.toUpperCase()).innerHTML='(Mancante)';
    Email.focus();
    return false;
    }else if(!Email.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){
    document.getElementById(Email.name.toUpperCase()).innerHTML='(Errata)';
    Email.focus();
    return false;
    }
    var Oggetto = document.getElementById("oggetto")
    if(Oggetto.value==""){
    document.getElementById(Oggetto.name.toUpperCase()).style.display='inline';
    Oggetto.focus();
    return false;
    }
    var Messaggio = document.getElementById("messaggio")
    if(Messaggio.value==""){
    document.getElementById(Messaggio.name.toUpperCase()).style.display='inline';
    Messaggio.focus();
    return false;
    }
    }
    </script>
    
    </head>
    
    <body>
    
    
    <form action="send.php" method="post" name="TheForm" id="TheForm" onSubmit="return VerificaForm()">
    <fieldset id="informazioni">
    
    
    <label for="nominativo">Nome e Cognome*: </label><input type="text" name="nominativo" id="nominativo" value="" tabindex="1" accesskey="n"  title="Inserisci il tuo nome" onkeyPress="document.getElementById('NOMINATIVO').style.display='none'" /><span id="NOMINATIVO" style="display:none; color:#FF0000">(Mancante)</span>
    </p>
    
    
    <label for="email">Email*:</label><input type="text" name="email" id="email" value=""  tabindex="2" accesskey="e"  title="Inserisci il tuo indirizzo e-mail" onkeyPress="document.getElementById('EMAIL').innerHTML=''"/><span id="EMAIL" style="color:#FF0000"></span>
    </p>
    
    
    <label for="oggetto">Oggetto*:</label><input type="text" name="oggetto" id="oggetto" value="" tabindex="3" accesskey="w"  title="Inserisci il motivo del contatto" onkeyPress="document.getElementById('OGGETTO').style.display='none'" /><span id="OGGETTO" style="display:none; color:#FF0000">(Mancante)</span>
    </p>
    
    
    <label for="messaggio">Messaggio*:</label>
    <textarea name="messaggio" cols="20" rows="7" id="messaggio" tabindex="4" accesskey="m" title="Inserisci qui il tuo commento" onkeyPress="document.getElementById('MESSAGGIO').style.display='none'"></textarea><span id="MESSAGGIO" style="display:none; color:#FF0000">(Mancante)</span>
    </p>
    <input name="submit" type="submit" id="invia"  value="Invia" tabindex="5" accesskey="I"  title="Invia il tuo messaggio"/>
      
    <input name="Pulsante" type="button" id="annulla"  onclick="self.location.reload();this.form.reset(); " accesskey="r" tabindex="6" title="Cancella i campi" value="Cancella"/>
    </fieldset>
    <input type="hidden" name="MM_insert" value="invia_mail">
    </form>
    </body>
    </html>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di stranyera
    Registrato dal
    Feb 2001
    Messaggi
    1,101
    grassie mille!...smaaaaaaaaaack

    adesso nanna tranquilla

  4. #4
    Utente di HTML.it L'avatar di stranyera
    Registrato dal
    Feb 2001
    Messaggi
    1,101
    ho un problema nella formattazione della mail che arriva sul browser di posta (Outlook etc...)
    ovvero, se nella textarea del messaggio inserisco lettere accentate, per esempio è,
    nella mail io vedo questo : è

    come risolvo questo fastidio?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non credo si possa risolvere, il form spedisce i dati ad outlook (e dovrebbe avvisare) in formato text/plan mentre le parole accentate devo essere unicode, ma di questo non sono sicuro, certo io non ti posso aiutare.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di stranyera
    Registrato dal
    Feb 2001
    Messaggi
    1,101
    Originariamente inviato da cavicchiandrea
    Non credo si possa risolvere, il form spedisce i dati ad outlook (e dovrebbe avvisare) in formato text/plan mentre le parole accentate devo essere unicode, ma di questo non sono sicuro, certo io non ti posso aiutare.

    Grazie lo stesso andre
    ...qualcun'altro mi sa aiutare?

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    hai provato ad usare l'attributo accept-charset nel form?
    http://htmlhelp.com/reference/html40/forms/form.html

    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Utente di HTML.it L'avatar di stranyera
    Registrato dal
    Feb 2001
    Messaggi
    1,101
    fatto
    grazie facald!

  9. #9
    Utente di HTML.it L'avatar di stranyera
    Registrato dal
    Feb 2001
    Messaggi
    1,101
    raga'...riuppo questo thread perchè ho bisognod i una aggiunta al mio form e - soprattutto - al mio controllo.
    Allora, premetto: ho cercato in giro ma non mi funzionano le prove che ho fatto

    dunque, devo, sostanzialmente, aggiungere il solito e palloso check per la praivasi.
    se ceccho il check ( ) allora invio il form, altrimenti ciccia.

    non riesco ad andare avanti

    vi riposto i due codici?

  10. #10
    Utente di HTML.it L'avatar di stranyera
    Registrato dal
    Feb 2001
    Messaggi
    1,101
    uppino

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.