IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Pourquoi le code jQuery ne s'applique pas pour le 2ème cas ?


Sujet :

jQuery

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut Pourquoi le code jQuery ne s'applique pas pour le 2ème cas ?
    Bonjour,

    J'ai déjà posé cette question précédemment mais je n'ai pas encore trouvé de réponse. Je schématise le problème : Nom : ajaxrequest.png
Affichages : 145
Taille : 14,3 KoNom : ajaxrequest2.png
Affichages : 139
Taille : 19,4 Ko

    Remarque :
    Le code jquery ci-dessous marche par contre dans les 2 cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // Validation
    $("#id_formulaire").validate(
        {					
    	// Règles de validation
    	rules:
    	{
    	        tel_struct:
    		{
    			required: true
    		},
            },
            // Messages
             messages:
            {
                   tel-struct:
                  {
                            required: 'Saisissez un numéro de téléphone'
                  },
             },
       });

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 401
    Points : 15 766
    Points
    15 766
    Par défaut
    dans le 2e cas, au moment de l'appel à "mask", le champ "tel_struct" n'existe pas
    donc il faut que tu fasses cet appel après avoir afficher le champ. cela peut se faire dans la fonction "ajaxrequest" peut-être, à toi de voir je ne sais pas ce que fait la fonction

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut structure de la fonction ajaxrequest
    Bonjour,
    Merci pour votre réponse.
    Je donne le code de la fonction ajaxrequest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
        function get_XmlHttp() {
          var xmlHttp = null;
     
          if(window.XMLHttpRequest) {        // Firefox, IE7+, Opera, Safari, ...
            xmlHttp = new XMLHttpRequest();
          }
          else if(window.ActiveXObject) {    // Internet Explorer 5 or 6
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
          }
     
          return xmlHttp;
        }
     
        function ajaxrequest(php_file, tagID) {
     
          var request =  get_XmlHttp();
          var id_struct = document.getElementById('id_struct').value;
           var the_data = 'id_struct='+id_struct;
     
    	  request.open("POST", php_file, true);            
     
          request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
          request.send(the_data);
     
          request.onreadystatechange = function() {
            if (request.readyState == 4) {
              document.getElementById(tagID).innerHTML = request.responseText;
            }
          }
     
        }
    En mettant le code JS dedans ça n'a rien donné

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 401
    Points : 15 766
    Points
    15 766
    Par défaut
    montre nous le nouveau code, l'appel doit se faire après le chargement des nouvelles données donc dans "onreadystatechange"

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    Ah ben moi je l'ai mis avant puis après la fonction ajaxrequest et pas à l'intérieur
    l'appel doit se faire après le chargement des nouvelles données donc dans "onreadystatechange"
    A l'intérieur de la fonction "onreadystatechange", ça fonctionne !!
    Vous me sauvez la vie, j'avais perdu espoir, merci beaucoup! ça fonctionne enfin

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 102
    Points : 44 865
    Points
    44 865
    Par défaut
    Bonjour,
    Je rappelles le titre
    Pourquoi le code jQuery ne s'applique pas pour le 2ème cas ?
    alors justement pourquoi ne pas le faire en jQuery

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    alors justement pourquoi ne pas le faire en jQuery
    Ce n'est pas du jQuery ?

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 401
    Points : 15 766
    Points
    15 766
    Par défaut
    l'appel à "validate(" utilise bien jQuery mais la requête AJAX peut aussi se faire à l'aide de jQuery :
    http://api.jquery.com/jQuery.ajax/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/02/2011, 14h45
  2. Réponses: 2
    Dernier message: 21/09/2009, 03h51
  3. [XMLHttpRequest] Pourquoi ce code fonctionne sous IE8 et pas sur Firexox 3.0.11
    Par homeostasie dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 23/07/2009, 14h50
  4. le code css ne s'applique pas à une page
    Par manguigs dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 20/07/2009, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo