Visualizzazione risultati 1 fino 4 di 4

Discussione: Controllo Campo Form Vuoto javascript

  1. #1
    Guest

    Predefinito Controllo Campo Form Vuoto javascript

    Vorrei sapere qual'e` o quali sono gli errori in questo codice HTML. Perché il campo nome avvisa se il rimane vuoto mentre, il campo Cognome non avvisa. Non riesco a capire qual'e` l'errore AIUTO

    Codice HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
        <title>Prova Form</title>
        <script type="text/javascript">
        function formValid() {
        	if (document.forms["nameForm"].textname.value.length == 0) {
        		alert("Il campo NOME non e` stato completato");
        		return false;
        	} else if (document.forms["surnameForm"].textname.value.length == 0) {
        		alert("Il campo COGNOME non e` stato completato");
        		return false;
        	} else {
        		alert("I campi sono tutti completati");
        		return true;
        	}
        }
        </script>
    </head>
    <body>
    <p><i><b>Form per l'invio dei propri dati</b></i></p>
    <form action="#" id="nameForm" onsubmit="return formValid();">
    <p><b>Nome</b> <em>(Richiesto)</em>: <input id="textbox1" name="textname" type="text" /></p>
    </form>
    <form action= "#" id="surnameForm" onsubmit= "return formValid();">
    <p><b>Cognome</b> <em>(Richiesto)</em>: <input id= "textbox1" name= "textname2" type= "text" /></p>
    </form>
    <form action= "#" onsubmit= "return formValid()">
    <p><b>Data Di Nascita</b> <i>(Utilizzare il Formato di Esempio-Facoltativo)</i>: <input id= "textbox3" name= "textname3" type= "date" value="XXXX-12-31"/></p>
    </form>
    <form action="#" onsubmit="return formValid()">
    <p><b>Comune di Residenza</b> <i>(Facoltativo)</i>: <input id="textbox4" name="textname4" type="text" /></p>
    <p><input id="subButton" type="submit" value="Invia il Modulo ora" /></p>
    </form>
    </body>
    </html>
    Grazie in anticipo
    Ultima modifica di nigthmare96 : 23-07-2011 alle ore 17.08.22 Motivo: +tag [html]

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Per me, ma non saprei, va tutto bene.

    Potrei capire se non andasse quando non compili il campo nel primo form, visto che se quello risulta vuoto non passa per l'else if, e mi sembra ovvio.

    Cmq, se ti può interessare io modificherei la tua funzione in questo modo:

    Codice HTML:
    function formValid() {
            var name_len = document.forms["nameForm"].textname.value.length;
            var surname_len = document.forms["surnameForm"].textname.value.length;
    
        	if (name_len == 0) {
        		alert("Il campo NOME non e` stato completato");
        	}
    
            if (surname_len == 0) {
        		alert("Il campo COGNOME non e` stato completato");
        	}
    
            if (name_len != 0 && surname_len != 0) {
        		alert("I campi sono tutti completati");
                    return true;
        	}else {
                    return false;
            }
        }
    Non ho ben capito perché, forse ho letto male il codice, usi return false e return true, fatto sta te li ho mezzi in modi diverso.
    Ultima modifica di sevenjeak : 23-07-2011 alle ore 18.51.00

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    Non so esattamente il motivo ma ho provato il codice creato da te e non si esegue.

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Devi usare la collezione document.forms solo se hai impostato sugli elementi form un attributo name. Tu hai impostato a ciascuno un id, per ottenere quindi l'oggetto DOM ad essi associato devi usare il metodo getElementById dell'oggetto document.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •