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 :

Page appelée par AJAX qui ne prend pas en compte la mise en forme jQuery


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut Page appelée par AJAX qui ne prend pas en compte la mise en forme jQuery
    Bonjour tout le monde, je continue de coder mon editeur de masse prestashop. J'essaye de mettre un Input Tag Select pour afficher/éditer les métas mots clés de ma base de données. J'utilise donc un script.

    J'ai un index.php, qui via ajax inclue une vue.php dans cette même première page.

    Je crée juste ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input class="tags" value="foo,bar,baz" />
    J'appelle cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.tags').tagsInput();

    Si je mets mes TAG dans index.php, alors cela fonctionne.
    Mais si je le place dans view.php, ça ne marche pas.
    Par contre, si j'appelle directement view.php, ça fonctionne aussi...

    Sauriez-vous m'expliquer pourquoi et comment remédier ?

    Merci

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut Aie
    J'ai lu 30 topics sur le problème en Anglais ou Français, et généralement personne ne trouve de solution.... Je désespère

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qui via ajax inclue une vue.php dans cette même première page.
    Le sujet a déjà été abordé sur ce forum, et il me semble que DanielHagnoul y avais apporté une solution élégante...

    La solution que j'avais proposé est simplement sur le callback de ton ajax qui charge ta page de relancer une initialisation de ton plugin

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut Salut Spacefrog
    Salut Spacefrog, merci pour ton attention. En toute honnêteté j'ai déjà passé près de 3h sur le problème sans arriver à rien. A savoir que j'avais passé du temps un première fois pour autre chose, mais que j'avais pu contourner le problème en insérant le code dans mon index.html (ce qui était même mieux)... J'ai essayé 10 solutions différentes avec ce que j'ai pu lire et réussir à comprendre en Anglais...

    Cependant, ici c'est devenu impossible.

    Je vous ai fait une vidéo ultra minimaliste, très peu de code à lire, 1 ligne de Jquery et 2 lignes de HTML de débutant... Avec le rendu.

    Si quelqu'un peut me dire exactement quoi écrire et où... c'est pas une volonté d'être assisté mais j'ai tout tenté, j'ai passé ma soirée dessus hier et je suis démotivé... j'aimerai bien avancer dans mon projet.



  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    relance juste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.tags').tagsInput();
    sur le callback de ton appel ajax ...

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    Merci SpaceFrog. J'ai lu un peu sur le sujet, mais j'ai du mal à comprendre. Quel est le nom de la fonction de callback et ou faut il la placer ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut BoN...
    Bon je sais je suis vraiment nul mais j'ai toujours pas réussi >_<
    Il y a autant de fonction callback qui trainent sur internet et de syntaxes que de pages sur le sujet.
    Au secours.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    copie ici la partie du code qui fait l'ajax pour insérer les tagsInput $('.tags')

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <script>
     
    function showListProductFromSelectedCategory(str) {
        if (str == "") {
            document.getElementById("productsGrid").innerHTML = "";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("productsGrid").innerHTML = xmlhttp.responseText;
                }
            };        
            xmlhttp.open("GET","../view/showListProductFromSelectCat.php?q="+str,true);
            xmlhttp.send();
        }
     
    }
     
     
     
    function updateDataBase(id, content, column){
        if (id == "") {
            document.getElementById("productsGrid").innerHTML = "";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
     
     
            xmlhttp.open("GET","../model/updateDataBase.php?id="+id+"&content="+content+"&column="+column,true);
            xmlhttp.send();
        }
     
     
    }
     
     
    </script>

    Voilà mon fichier AJAX. J'ai peut-être trouvé une solution en jQuery avec success et complete... J'étudie pour améliorer mon code à l'avenir mais pour le moment j'ai du mal à appeler la page ajax avec le onblur car si je surcharge l'élément de la liste de checkbox de catégories, cela détruit la mise en forme préalable... Et j'ai encore un peu de mal à comprendre toutes les subtilités du jQuery... L'essentiel dans un premier temps serait de conclure mon projet... Je veux bien la solution pour ma page Ajax.


    Merci SpaceFrog

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Heu pourquoi tu fais un ajax en js simple au lieu de passer par un $.ajax de jquery ...

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    Disons que j'ai juste appris sur le tas pour pouvoir faire ce dont j'avais besoin... J'ai pu bosser une semaine comme ça. Le jQuery à l'air beaucoup mieux en effet, mais j'ai appris le jQuery aussi sur le tas après l'Ajax... J'ai des difficultés à adapter le code. Mais effectivement, le problème de comprendre le callback etc du Ajax vient du fait que je n'ai pas utilisé jQuery.

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 351
    Points : 15 696
    Points
    15 696
    Par défaut
    si j'ai bien compris ce que propose SpaceFrog, le code "$('.tags').tagsInput();" se met après la modification de innerHtml

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2015
    Messages : 49
    Points : 38
    Points
    38
    Par défaut C'est ca
    Il suffisait simplement de mettre dans onreadystatechange. Un ami m'a aidé. C'était tellement idiot... Ça m'a permis de mieux comprendre cette partie que j'avais bêtement recopier.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/06/2014, 08h21
  2. [AC-2010] Requête qui ne prend pas en compte certaines chaînes de caractères
    Par LUCAS-28 dans le forum Access
    Réponses: 3
    Dernier message: 19/03/2014, 12h22
  3. Macro qui ne prend pas en compte toutes les valeurs d'un tableau
    Par bentor22 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/01/2013, 10h27
  4. Réponses: 2
    Dernier message: 07/08/2011, 11h51
  5. [JAR] Archive qui ne prend pas en compte librairie externe
    Par Shiryu44 dans le forum Général Java
    Réponses: 3
    Dernier message: 22/04/2005, 13h59

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