Domanda

$(document).ready(function() {

    $('#commentForm').submit(function(){

        return $('input[type=text], textarea').each(function(index){

            if($(this).attr('value') == ""){
                alert(msgHash[$(this).attr('id')]);
                return false;

            }else{

                if(!$(this).attr('value').match(validateHash[$(this).attr('id')])){
                    //Do nothing
                    alert(msgOnError[$(this).attr('id')]);
                    return false;
                }
            }
        });

        return true;
    });
});

Qui msgOnError, msgHash e msgHash sono carta che uso per ottenere i messaggi per ogni casella di testo con particolare ID Purtroppo ogni metodo non restituisce falso per annullare presentazione del modulo. Che cosa sto facendo di sbagliato ?? Sono nuovo di jQuery, grazie

È stato utile?

Soluzione

Sì, è esattamente come funziona each. Dal momento che è in realtà un ciclo che chiama la funzione anonima in ogni iterazione, uscendo queste funzioni, non uscire dalla funzione di chiamata pure. Restituendo vero e falso qui, è effettivamente corrispondente alla continue e break del ciclo for, repsectively.

Avrai bisogno di impostare un flag booleano, per poi tornare false (pausa), e quindi restituire il valore della vostra bandiera booleano dopo la each

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top