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

JavaScript Discussion :

[AJAX] Pas de javascript apr�s un innerHTML


Sujet :

JavaScript

  1. #1
    Membre confirm� Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par d�faut [AJAX] Pas de javascript apr�s un innerHTML
    Bonjour,

    J'ai sur ma page HTML un tableau et un formulaire
    J'aimerai que lorsque je valide le formulaire mon tableau s'actualise automatiquement.
    Donc avec AJAX et innerHTML j'y arrive tr�s bien.

    code AJAX
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (xhr.readyState == 4)
                {
                document.getElementById('div_fieldset').innerHTML = xhr.responseText;
                document.getElementById('texte_confirmation').value = 'Utilisateur ajouté';
                document.getElementById('div_confirmation').style.display = 'inline';
                document.getElementById('button_confirmation').focus();              
                }
            }
    Le tableau s'actualise.
    Mais !
    J'utilise sur le tableau une fonction javascript (sortable.js), qui apr�s coup ne fonctionne plus ! damned !

    Que faire svp ??

  2. #2
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    Citation Envoy� par kryogen Voir le message
    J'utilise sur le tableau une fonction javascript (sortable.js), qui apr�s coup ne fonctionne plus ! damned !
    2 solution (non exclusives) :
    soit tu as une erreur JS qui plante ton code (auquel plus aucun JS ne fonctionne)
    soit le fait que tu utilises innerHTML (et non le DOM) pour modifier ton tableau fait que ton sortable.js n'y retrouve plus ses petits (car il doit, lui, s'appuyer sur le DOM). En effet, le DOM n'est pas forc�ment mis � jour par innerHTML (c'est aussi le cas si tu essayes de modifier un <form> avec innerHTML)

    A+

  3. #3
    Membre confirm� Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par d�faut
    j'ai �galement essay� prototype.js

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            if (xhr.readyState == 4)
                {
                Element.update("div_fieldset",xhr.responseText);
                document.getElementById('texte_confirmation').value = 'Utilisateur ajouté';
                document.getElementById('div_confirmation').style.display = 'inline';
                document.getElementById('button_confirmation').focus();              
                }
            }
    mais... m�me probl�me...

  4. #4
    Membre confirm� Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par d�faut
    yep, je suis un peu d�butant...
    comment faire en passant par le DOM, la dessus je suis un peu largu� ?
    merci

  5. #5
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par kryogen Voir le message
    yep, je suis un peu d�butant...
    comment faire en passant par le DOM, la dessus je suis un peu largu� ?
    merci
    Comme �a
    Tu remarqueras que innerHTML n'est utilis� que pour ajouter du texte brut ...

    A+

  6. #6
    Membre confirm� Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par d�faut
    heu... l� on ne modifie pas par le DOM, c'est encore par innerHTML ?
    Si je remplace mon div, en jouant directement sur le DOM, le script sortable.js (http://www.kryogenix.org/code/browser/sorttable/) fonctionnera ?
    ou bien ?

  7. #7
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par E.Bzz Voir le message
    Tu remarqueras que innerHTML n'est utilis� que pour ajouter du texte brut ...
    Le contenu des cellules, quoi

  8. #8
    Membre confirm� Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par d�faut
    ouai mais en fait xhr.responseText contient tout le tableau. Car je veux actualiser tout le tableau.
    Bon je vais quand m�me tenter en n'ajoutant qu'une seule ligne.
    Je sens que je suis pas rendu...
    merci en tout cas !

  9. #9
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par kryogen Voir le message
    ouai mais en fait xhr.responseText contient tout le tableau.
    Oui, j'avais bien compris : c'est beaucoup plus pratique
    (j'utilise aussi dans certains cas non probl�matiques)

    Bon courage

    A+

  10. #10
    Membre confirm� Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par d�faut
    bon bah c'est pas tr�s concluant tout cela.
    le probl�me, c'est que le script sortable.js (cit� ci-dessus), permettait un tri et de colorer une ligne sur deux mon tableau.
    Bon personne d'autre n'a d'id�e(s) pour actualiser mon tableau en synchrone (avec toutes ses bonnes propri�t�s javascript) ?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par d�faut
    Salut, j'ai un probl�me similaire et je me rend compte que c'est un probl�me tr�s r�current avec Ajax. A mon avis c'est du a une mauvaise utilisation du innerHTML qui devrait a mon avis, comme dit plus, n'�tre utilis� que pour des donn�es et pas pour inclure des �lements DOM dans la page m�me si c'est hyper pratique et que dans certain cas cela fonctionne bien. Je n'est malheureusement pas trouv� de solution � ces scripts qui ne sont pas �valu�s apr�s les avoir "innerHTML�" dans une page. J'ai m�me essay� en parsant tout les scripts de la r�ponse et en faisant eval() pour chacun d'eux ca ne fonctionne pas...

    Pour ton probl�me je ne suis m�me pas sur que le probl�me vienne de la, je crois avoir lu que sortable ne fonctionne pas avec les tableau du tout. A v�rifier donc.

  12. #12
    Membre confirm� Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par d�faut
    ouai, moi aussi j'ai tout essay�... c'est d�solant.
    Je me dis, avec tout l'Ajax qu'on trouve m'int'nant, la solution doit bien exister quelque part...
    Tant pis retour au bonnes vieilles m�thodes...

Discussions similaires

  1. ex�cution javascript apr�s appel ajax
    Par Gaani dans le forum jQuery
    R�ponses: 3
    Dernier message: 21/09/2009, 16h56
  2. [AJAX] executer une fonction javascript apres une reponse AJAX
    Par katie.gillot dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 08/10/2008, 17h39
  3. [AJAX] code en javascript et php qui fonctionne sous FF et pas sous IE
    Par witch dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 21/01/2008, 12h13
  4. [AJAX] Executer du javascript apres transfo XSL
    Par Clercq dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 08/11/2006, 16h59
  5. [AJAX] Ajax ne r�actualise pas le javascript ?
    Par shadowbob dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 23/01/2006, 08h26

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