• User Newbie

    Javascript: problema con onclick event

    Ciao a tutti!

    Sto realizzando un form validator molto semplice in javascript. In pratica nell'onclick ci sono 2 funzioni differenti: la prima funzione chiama il validator (controlla che vengano popolati tutti i 3 select presenti), mentre la seconda funzione è quella del salvataggio del form:

    onclick="return validator(), salva();"
    

    Il problema è questo: il validator controlla il 1° e il 2° select correttamente, ma quando non setto il 3° select, mi compare l'alert che mi indica che il 3° select non è stato selezionato, ma nel momento in cui clicco OK (e qui dovrebbe darmi la possibilità di selezionare il select mancante), va direttamente alla funzione salva(), senza darmi la possibilità di correggere l'errore.

    Il codice del validator() è questo:

    
    function validator() {
        var x = document.getElementById('select1').value
        if (x==0)
        {
        alert("Devi selezionare la select1");
        return false;
        }
        
        var y = document.getElementById('select2').value
        if (y==0)
        {
        alert("Devi selezionare la select2");
        return false;
        }
    
    
        var z = document.getElementById('select3').value
        if (z == 0)
        {
        alert("Devi selezionare la select3");
        return false;
        }
    }
    
    

    Dove sbaglio?

    Grazie in anticipo per l'aiuto!


  • User Newbie

    L'errore è concettuale, non vi è alcun controllo su alcuna variabile che identifica se tutti i campi sono compilati o meno.
    Quelli che hai specificato sono semplici if in successione, eseguito il terzo per lui è finito lo script e passa al successivo.
    Devi interrompere il flusso eseguendo il controllo su una variabile che setti a true quando tutti i campi sono compilati e solo allora esegui il salva.