Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #1
    Utente di HTML.it L'avatar di AtoXx
    Registrato dal
    Nov 2007
    Messaggi
    119

    Controllo form tramite javascript

    Salve a tutti, era da un pò che non scrivevo in javascript e ricordavo già le stranezze che mi accadevano .

    Comunque al momento sto provando a fare il controllo dei dati inseriti in un form (esempio classico).
    Nello specifico sto cercando di rilevare i campi lasciati vuoti dall'utente.

    Ogni elemento da compilare obbligatoriamente è stato contrassegnato dalla classe "req".
    Quindi lato javascript ho eseguito una chiamata alla funzione
    codice:
    var arr = document.getElementsByClassName("req");

    Già qui ho stranezze!Gli elementi obbligatori sono 11 ma a volte me ne conta meno, come cavolo è possibile?

    Comunque poi ciclo tutto l'array "arr" in base alla sua lunghezza (nel mio caso sono 11 gli elementi obbligatori) e nel caso andassi a trovare elementi vuoti aggiungevo una classe così da farlo capire all'utente.
    Mentre scorro l'array noto che nell'array sembra che non ci siano tutti gli elementi con la classe "req", infatti non ottengo gli elementi di input "cognome", "città", "civico" e "nome utente". Perchè?
    La lunghezza dell'array è di 11 elementi ma il ciclo for lo fa solo 6 volte!
    Il codice è una cavolata ma intanto non funziona

    Sto già impazzendo e maledicendo javascript

    Vi allego i file php e js. Posto il codice javascript


    codice:
    window.onload=function(){
        if(!document.getElementById || !document.createElement){
            return;
        }
        else{
            document.forms[0].onsubmit=function(){
                if(valida())
                    {
                    alert("controllo superato, faccio il submit");
                    document.forms[0].submit();
                    }
                else{
                    alert("Alcuni campi non sono stati selezionati");
                    return(false);
                    }
            };
        }
    };
    
    
    function valida(){
        var arr = document.getElementsByClassName("req");
        valido=true;
        dim = arr.length;
        alert("Numero di elementi obbligatori "+dim);
        
        for(var i=0 ; i<dim ; i++){
            alert("i="+i+" "+arr[i].name);
            if( arr[i].type=="text" && (arr[i].length<=0 || arr[i].value=="") ){//campo text
                valido=false;
                arr[i].className="segnala";
                
                
            }
            else if(arr[i].type=="select-one" && arr[i].value==""){//campo select
                valido=false;
                arr[i].className="segnala";
            }
            
        }
        alert("Ho ciclato "+i );
        return valido;
    }
    File allegati File allegati

Tag per questa discussione

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.