Partage
  • Partager sur Facebook
  • Partager sur Twitter

JQuery .prev()/.next()

Sujet résolu
    9 novembre 2011 à 13:40:51

    Bonjour a tous,

    Je bosse en ce moment sur la vérification en JQuery d'un formulaire, lorsqu'une entrée et vide j'affiche une croix et lorsqu'elle ne l'est pas un V vert.

    J'arrive très bien a le faire pour la croix, sur chacun des input de mon formulaire, j'ai mis un SPAN avec une classe commune a tous. et je passe de l'un a l'autre avec un .prev().

    Mais j'ai voulue faire pareil lorsque l'entrée et bonne et la c'est la drame je n'y arrive pas... voici un exemple de code pour le formulaire :

    <fieldset>
           <label for = "Numero_Fuite"><?php echo _('Leak Number'); ?> : </label><img class="field_success" /><span class="field_error"></span>
    
           <input type = "text" name = "Numero_Fuite" id = "Numero_Fuite"/>
    
    </fieldset>
    
                        <fieldset>
          <label for = "NomSite"><?php echo _('Block / Field'); ?> : </label><img class="field_success" /><span class="field_error"></span>
    
         <input type = "text" name = "NomSite" id = "NomSite"/>
    </fieldset>
    


    Le code JQuery pour la croix :
    if($('#Numero_Fuite').val()=='')
                        {
                            valid = false;
                           
                            $('#Numero_Fuite').prev('.field_error').fadeIn();
                                
                        }
                        /*
                         * Sinon on cache la croix
                         */
                        else
                        {                         
                            $('#Numero_Fuite').prev('.field_error').fadeOut();
                          
                        }
    


    Et voicie le code pour mon V vert, j'ai tout testé, avec le .prev(), le .next(), le nth-child(), et même en rajoutant un ID sur chaque balise img mais rien ne fonctionne. J'arrive juste a affiché le premier V avec :first :

    $('#Numero_Fuite').keyup(function(){                             
                        var Numero_Fuite = $('#Numero_Fuite').val();
                              
                       
                              
                        if($('#Numero_Fuite').val()=='')
                        {
                            $('.field_success').hide();
                            $('#Numero_Fuite').prev('.field_error').fadeIn();                
                           
                        }
                        else
                        {
                            $('#Numero_Fuite').prev('.field_error').hide();                
                            $('.field_success:first').show();
                        }
                                                              
                    });
    

    Alors si quelqu'un a une idée ou un proposition, je suis preneur.

    Merci d'avance et bonne journée.
    • Partager sur Facebook
    • Partager sur Twitter
      9 novembre 2011 à 13:43:28

      Euh pourquoi tu fais pas un seul span ? Et tu lui changes sa class en fonction du résultat.
      • Partager sur Facebook
      • Partager sur Twitter
        9 novembre 2011 à 13:59:26

        Bien vue l'ami, ça marche avec t'a méthode :). Je sais pas si j'aurais trouvé tous seul.

        Encore merci et bonne journée.
        • Partager sur Facebook
        • Partager sur Twitter

        JQuery .prev()/.next()

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown