Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    validazione form (tutorial di html.it)

    Ciao a tutti, premetto che javascript non è il mio campo.
    Volevo utilizzare lo script di validazione form di html.it all' indirizzo: http://pro.html.it/articoli/id_279/i...pag_5/pag.html

    Purtroppo ci ho messo mano e non funziona, ovvero se clico sul pulsante di invio quando i campi sono vuoti non mi dice niente (appunto, non funziona).

    questo è il mio adattamento grossolano:

    <script language="javascript">
    <!--
    function Modulo() {

    var giorno_dal = document.modulo.giorno_dal.value;
    var mese_dal = document.modulo.mese_dal.value;
    var anno_dal = document.modulo.anno_dal.value;
    var giorno_al = document.modulo.giorno_al.value;
    var mese_al = document.modulo.mese_al.value;
    var anno_al = document.modulo.anno_al.value;
    var nome = document.modulo.nome.value;
    var cognome = document.modulo.cognome.value;
    var indirizzo = document.modulo.indirizzo.value;
    var stato = document.modulo.stato.options[document.modulo.stato.selectedIndex].value;
    var email = document.modulo.email.value;
    var telefono = document.modulo.telefono.value;
    var singola = document.modulo.singola.value;
    var doppia = document.modulo.doppia.value;
    var tripla = document.modulo.tripla.value;
    var totale_persone = document.modulo.totale_persone.value;
    var feedback = document.modulo.feedback.value;
    var privacy = document.modulo.privacy.value;
    // Espressione regolare dell'email
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    //Effettua il controllo sul campo NOME
    if ((nome == "") || (nome == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.modulo.nome.focus();
    return false;
    }
    //Effettua il controllo sul campo COGNOME
    else if ((cognome == "") || (cognome == "undefined")) {
    alert("Il campo Cognome è obbligatorio.");
    document.modulo.cognome.focus();
    return false;
    //Effettua il controllo sul campo INDIRIZZO
    if ((indirizzo == "") || (indirizzo == "undefined")) {
    alert("Il campo Indirizzo è obbligatorio.");
    document.modulo.indirizzo.focus();
    return false;
    }
    //Effettua il controllo sul campo STATO
    if ((stato == "") || (stato == "undefined")) {
    alert("Il campo Stato è obbligatorio.");
    document.modulo.stato.focus();
    return false;
    }

    //Effettua il controllo sul campo TELEFONO ed EMAIL
    else if ((isNaN(telefono)) || (telefono == "") || (telefono == "undefined")) {
    alert("Il campo Telefono è numerico ed obbligatorio.");
    document.modulo.telefono.value = "";
    document.modulo.telefono.focus();
    return false;
    }
    else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
    alert("Inserire un indirizzo email corretto.");
    document.modulo.email.select();
    return false;
    }
    //Effettua il controllo sul campo FEEDBACK
    if ((feedback == "") || (feedback == "undefined")) {
    alert("Il campo Feedback è obbligatorio.");
    document.modulo.feedbak.focus();
    return false;
    }
    //Effettua il controllo sul campo PRIVACY
    if ((privacy == "") || (privacy == "undefined")) {
    alert("Il campo Privacy è obbligatorio.");
    document.modulo.privacy.focus();
    return false;
    }
    //INVIA IL MODULO
    else {
    document.modulo.action = "gestione_prenotazioni.php";
    document.modulo.submit();
    }

    }
    //-->
    </script>

    il pulsante di invio è:

    <input type="button" class="pulsanti" value="Prenota" onClick="return Modulo()">
    Qualcuno può aiutarmi?
    Viviamo tutti in una palude di fango, ma alcuni di noi guardano le Stelle http://www.comunicareoltre.it

  2. #2
    invece di un semplice bottone che chiama la tua funzione e invia il form ti conviene mettere un <input input type="submit"> e nella dichiarazione del form richiami la tua funzione con:
    onsubmit="return Modulo()"
    ultima modifica, invece di: document.modulo.submit();
    scrivi: return true;

  3. #3
    Ho fatto come hai detto:
    nella dichiarazione del form ho scritto

    <form method="post" name="modulo" onsubmit = "return Modulo()">
    e nel pulsante ho scritto:

    <input name="submit" type="submit" class="pulsanti" id="submit" value="Prenota" >
    Ma non succede nulla...
    Viviamo tutti in una palude di fango, ma alcuni di noi guardano le Stelle http://www.comunicareoltre.it

  4. #4
    Sostituisci il contenuto della tua funzione con questo codice:

    var giorno_dal = document.modulo.giorno_dal.value;
    var mese_dal = document.modulo.mese_dal.value;
    var anno_dal = document.modulo.anno_dal.value;
    var giorno_al = document.modulo.giorno_al.value;
    var mese_al = document.modulo.mese_al.value;
    var anno_al = document.modulo.anno_al.value;
    var nome = document.modulo.nome.value;
    var cognome = document.modulo.cognome.value;
    var indirizzo = document.modulo.indirizzo.value;
    var stato = document.modulo.stato.options[document.modulo.stato.selectedIndex].value;
    var email = document.modulo.email.value;
    var telefono = document.modulo.telefono.value;
    var singola = document.modulo.singola.value;
    var doppia = document.modulo.doppia.value;
    var tripla = document.modulo.tripla.value;
    var totale_persone = document.modulo.totale_persone.value;
    var feedback = document.modulo.feedback.value;
    var privacy = document.modulo.privacy.value;
    // Espressione regolare dell'email
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

    //Effettua il controllo sul campo NOME
    if ((nome == "") || (nome == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.modulo.nome.focus();
    return false;
    }

    //Effettua il controllo sul campo COGNOME
    if ((cognome == "") || (cognome == "undefined")) {
    alert("Il campo Cognome è obbligatorio.");
    document.modulo.cognome.focus();
    return false;
    }

    //Effettua il controllo sul campo INDIRIZZO
    if ((indirizzo == "") || (indirizzo == "undefined")) {
    alert("Il campo Indirizzo è obbligatorio.");
    document.modulo.indirizzo.focus();
    return false;
    }

    //Effettua il controllo sul campo STATO
    if ((stato == "") || (stato == "undefined")) {
    alert("Il campo Stato è obbligatorio.");
    document.modulo.stato.focus();
    return false;
    }

    //Effettua il controllo sul campo TELEFONO ed EMAIL
    if ((isNaN(telefono)) || (telefono == "") || (telefono == "undefined")) {
    alert("Il campo Telefono è numerico ed obbligatorio.");
    document.modulo.telefono.value = "";
    document.modulo.telefono.focus();
    return false;
    }

    if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
    alert("Inserire un indirizzo email corretto.");
    document.modulo.email.select();
    return false;
    }

    //Effettua il controllo sul campo FEEDBACK
    if ((feedback == "") || (feedback == "undefined")) {
    alert("Il campo Feedback è obbligatorio.");
    document.modulo.feedbak.focus();
    return false;
    }

    //Effettua il controllo sul campo PRIVACY
    if ((privacy == "") || (privacy == "undefined")) {
    alert("Il campo Privacy è obbligatorio.");
    document.modulo.privacy.focus();
    return false;
    }

    //INVIA IL MODULO
    document.modulo.action = "gestione_prenotazioni.php";
    return true;



    -----------------------
    dovrebbe funzionare correttamente

  5. #5
    Non funziona...
    Se lo testo in locale mi ricarica la pagina su cui è lo script, se lo testo in remoto mi ricarica la pagina su cui è lo script ma mi dice "the page cannot be displayed... come mai?

    Lo script dovrebbe controllare che i campi sono vuoti e far aprire delle finestre di alert ed eventualmente passare al file php di elaborazione dei dati inseriti nel modulo... perchè non accade?

    Ci vogliono altri richiami javascript da qualche altra parte? non so
    Viviamo tutti in una palude di fango, ma alcuni di noi guardano le Stelle http://www.comunicareoltre.it

  6. #6
    la pagina a cui viene spedito il form é gestione_prenotazioni.php,
    questa pagina esiste?
    è la stessa pagina delle script?

  7. #7
    ho una pagina html in cui c'è il form e il javascript e poi i dati inseriti devono essere processati da gestione_prenotazioni.php che è un'altra pagina...
    Viviamo tutti in una palude di fango, ma alcuni di noi guardano le Stelle http://www.comunicareoltre.it

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 © 2024 vBulletin Solutions, Inc. All rights reserved.