Visualizzazione dei risultati da 1 a 3 su 3

Discussione: validazione campi form

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    96

    validazione campi form

    salve a tutti, ho un piccolo problema, ho un form e dovo validare tutti i campi, non possono essere vuoti, dopo aver fatto una ricerca, ho una funzione script ed un form, ma non funziona, va avanti ugualmente senza avvertirmi che i campi non sono compilati!!qualcuno sa aiutarmi??
    ecco il codice del form:

    <form action="invio_mail.php" method="post" target="_parent" onSubmit="return checkrequired(this)">
    <center>
    <p align="center">Tipo Attivit&agrave;:

    <input name="attivita" type="text" id="attivita" size="20">



    Nome:

    <input name="nome" type="text" id="nome" size="20">


    Cognome:

    <input name="cognome" type="text" id="cognome" size="20">


    Citt&agrave;

    <input name="citta" type="text" id="citta" size="20">


    Telefono:

    <input name="telefono" type="text" id="telefono" size="40">


    Messaggio:

    <textarea name="messaggio" rows="5" cols="40"></textarea>
    </p>






    <input type="submit" name="invia" value="Invia!!">


    <input type="reset" name="reset" value="Reimposta">





    </p>
    </center>
    </form>

    ed ecco la funzione javascript che ho trovato:

    <script type="text/javascript" language="JavaScript">
    <!--
    function checkrequired(which){
    var pass=true
    if (document.images){
    for (i=0;i<which.length;i++){
    var tempobj=which.elements[i]
    if (tempobj.name.substring(0,8)=="required"){
    if (((tempobj.type=="text"||tempobj.type=="textarea") &&tempobj.value=='')||(tempobj.type.toString().cha rAt(0)=="s"&&tempobj.selectedIndex==-1)){
    pass=false
    break
    }
    }
    }
    }
    if (!pass){
    alert("Non hai compilato correttamente il form. Alcune informazioni non sono state inserite. Clicca su OK e verifica l'errore")
    return false
    }
    else
    return true
    }

    //-->
    </script>

    grazie a tutti anticipatamente.

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    il problema è qui...:

    if (tempobj.name.substring(0,8)=="required"){
    In pratica la funzione di controllo riceve come parametro l'oggetto form.
    Estrae dal form tutti i suoi elementi e per ciascuno di essi valuta l'attributo name.
    Se i primi 8 caratteri sono la stringa "required" il controllo viene eseguito, altrimenti il campo del form viene ignorato.

    Tu non hai rispettato questa regola e quindi nessun campo viene valutato. Se vuoi che la pagina funzioni devi imporre come nomi qualcosa come questo:

    <input name="required_nome" type="text" id="nome" size="20">

    Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    96
    Grazie grazie

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.