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

Bibliothèques & Frameworks Discussion :

Mise à jour de la balise <div>


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut Mise à jour de la balise <div>
    Bonjour à tous !

    Alors voilà j'utilise le framework prototype.js pour mettre à jour la partie contenu de ma page web. Lorsque l'on clique sur un élément du menu de navigation, j'appele la fonction getContentAjax().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function getContentAjax(contentID)
    {
       var url = 'getContent.php';
       var pars = 'contentID=' + contentID;
     
     
       var myAjax = new Ajax.Updater(
                {success: 'content'},
                url,
                {method: 'post', parameters: pars, onFailure: reportError});
    }
    La mise à jour fonctionne parfaitement mais le pb est que l'insertion est faite par concaténation. Par exemple si je clique deux fois sur Accueil, il va me supperposer deux fois le contenu de ma page d'accueil entre la balise <div id="content"> et </div>.

    Avant (sa ne fait que 3j que j'ai commencé avec AJAX) j'utilisais le framework Rico, qui lui gérait bien l'effacement avant l'insertion du contenu.

    Je suis loin de maitriser le javascript donc il se peut que la solution soit vraiment très simple.

    Pour résumer je cherche un moyen d'effacer le contenu d'une balise <div> en javascript (d'ailleur je me demande si je suis ds la bonne section ...).

    Merci d'avance !
    Matth

  2. #2
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="madiv"></div>
     
    document.getElementById('madiv').innerHTML = '';

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut
    Arf je crois que je me suis un peu emballé trop vite, cette fonction fonctionne en effet lorsque le texte ou autre est inclus dans la balise <div>

    Le problème c'est que ma balise reste vide, vu que son contenu est importé via l'AJAX... Le navigateur à donc beau executer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('content').innerHTML = '';
    Il ne peut pas effacer le contenu, vu qu'il ne voit rien dedant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="content"></div>
    Une autre solution ? Ou peut-être que je m'y prend mal ?

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut Précision
    En fait le problème est fort probablement un "bug" de prototype.js car les informations données sur le site officiel précisent que par défault le contenu de l'élément est effacé et remplacé.

    Prototype will automagically update the container with the response using the Element.update() method.

    [...]

    You might also choose not to overwrite the current container contents, but insert new HTML on top or bottom like you would do with Insertion.Top or Insertion.Bottom.
    Je viens de me rendre compte que sous IE cela fontionne...

    Dommage qu'il n'y ai pas plus d'informations, de forums et de tuto à propos de ce framework...

    Matth

    PS : Celà dit, je trouve qd même étrange qu'il(s) n'ai(ent) pas résolu ce problème pour Firefox car cette fonction me semble essentielle. A préciser aussi que Rico integre prototype et le "bug" n'a pas lieu sous Firefox. Le(s) auteur(s) de Rico ont probablement résolu le pb.

Discussions similaires

  1. AJAX et mise à jour d'une balise select
    Par PadawanInPerl dans le forum CodeIgniter
    Réponses: 7
    Dernier message: 29/04/2015, 14h22
  2. [AJAX] Mise à jour de contenu de div
    Par mverhaeghe dans le forum jQuery
    Réponses: 3
    Dernier message: 11/12/2012, 14h37
  3. Commande Updater - Mise à jour des attributs d'une balise div
    Par Myrrdin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/07/2009, 16h39
  4. Probleme mise en forme et balises div
    Par Aspic dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 06/07/2007, 14h28
  5. Mise à jour d'une balise par innerHTML qui pose pb !!
    Par nerik38 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2006, 16h13

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