Bonjour,

Voilà je rencontre un petit problème avec mon code.

Ce que je fais

Je vérifie si l'id send-message (id du button) existe.
je créé une div pour le message d'erreur ou de succès.
À la soumission du formulaire je crée une variable erreur, qui sera true si le champs est vide.

jQuery(document).ready(function($){

    if( $('#send-message').length > 0 ) {
        alert('1');

        //ajoute div msg erreur ou success
        $('body').append('<div id="noty"></div>');

        //variable si requete ajax est en cours ou non
        var busy = null;

        //a la soumission du form
       $('#send-message').click(function()  {

        var error = false,
            form = $(this).parent('form');
            alert('2');

            // VERIFIE SI CHAMPS VIDE OU NON
            form.find('[required]').each( function() {
                alert('3');
                if($.trim($this.val() ) == '' ){

                    alert('4');
                    $(this).css('border-color', '#FF0000');
                    error = true;
                }
                else{
                    $(this).css('border-color', '#CDCDCD');
                }
            });
        alert('5');
        return false;
       });
    }
});

Ce que je veux

Je souhaite que si les champs de mes inputs sont vides : les bordures des champs deviennent rouge, si non vert.

Ce que j'obtiens

Je n'obtient rien, les bordures ne changent pas de couleurs. Je place des alert dans mon script pour savoir ce qu'il se passe, et l'alert 4 ne se déclenche pas.

Cette ligne pose problème mais je ne comprend pas pourquoi : if($.trim($this.val() ) == '' {…}

1 réponse


Sujet résolu : $(this) au lieu de $this ^^'