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 :

Probleme lien ajax [MooTools]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut Probleme lien ajax
    Bonjour , je suis nouveau sur ce forum et apres avoir cherché sur le net sans reponse je demande votre aide.

    J'utilise le Zend Framework pour developper un site web, tout fonctionne normalement lorsqu'il n'y a pas d'ajax. J'utilise la bibliotheque Mootools pour l'ajax.

    Quand je met l'ajax , le principe que je fais c'est de rajouter un parametre "ajax" a la suite des liens concernés (pages que je desire afficher dans une div) et je me sert de ce parametre dans mon controleur et dans mes vues pour eviter les affichages en trop (bannieres ...).

    Voila mon probleme :lorsque je clique sur un premier lien de suppression d'un item , la page de confirmation est correctement affichée dans la div prevue mais lorsque je clique sur "oui" , normalement la page "supprimer" ( qui contient juste le message 'correctement suppr') ne s'affiche pas.

    La source du probleme est que lorsque je charge ma div avec la confirmation , je recupere les liens (jusque la ca va) et j'y rajoute "ajax/true" et a ce moment la , le JS perd l'ancien lien et je comprend pas pourquoi.

    voici le code du changement de lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var temp = '/ajax/true';
    var lien = $$('a.oui');
    var nl = lien.href + temp;
    lien.setProperty('href',nl);
    Si quelqu'un pouvait m'aider ca serait vraiment cool .
    Merci d'avance.
    +

  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,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var temp = '/ajax/true';
    var lien = $$('a.oui');
    var nl = lien.href + temp;
    lien.href = nl;
    ne fonctionne pas non plus ?

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var temp = '/ajax/true';
    var lien = $$('a.oui');
    alert(lien.href);
    t'affiches bien l'url attendue (l'ancienne) ?

    A+

  3. #3
    Futur Membre du Club
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut
    Bonjour E.Bzz
    j'ai essayé avec les methodes que tu m'a donné mais elles ne fonctionnent pas :

    ->en faisant "lien.href = nl" rien ne se passe, le lien n'est pas modifié.

    ->en faisant "alert(nl)" , j'obtiens toujours le meme probleme, il me renvoit 'undefined/ajax/true'
    si je fait un alert(lien.href) , avant toute manipulation, j'ai 'undefined' , donc je ne comprend pas pourquoi il n'arrive pas a recuperer le lien ...

    Si quelqu'un a des idées je prend parce que la je commence a avoir fait le tour ...
    +

  4. #4
    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
    Alors la référence à l'objet initial (a.oui) n'est pas correcte.
    On peut voir le code html correspondant à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var lien = $$('a.oui');
    ?

    A+

  5. #5
    Futur Membre du Club
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut
    Voila le code html qui correspond : c'est dans une page de confirmation avec juste un message "etes vous sur ?"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="<?php echo $this->baseUrl().$this->action.$this->id;?>" class="oui">Oui</a>
    et voici ce qu'il y a dans mon controleur pour cette page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $id = $this->_request->getParam('id');
    $this->view->id = $id;
     
    $this->view->message = "&Ecirc;tes vous sur de vouloir supprimer ce message ?";
    $this->view->action = "/utilisateur/supprimermessage/idmessage/";
    lorsqu'il n'y a pas de ajax , la pages s'affiche correctement et les liens sont nikel ...

  6. #6
    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
    A priori $$() doit retourner un tableau (car tu peux avoir plusieurs éléments <a> de class="oui").
    => As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var lien = $$('a.oui')[0];
    ?

    A+

  7. #7
    Futur Membre du Club
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut
    C'est bon je viens de trouver en meme temps , merci E.Bzz , tu m'a mis sur la bonne voie avec le "$$(a.oui)" en effet , je recuperais un tableau auquel j'essayais d'acceder directement . J'ai chagné ca et maintenant tout marche.
    Merci beaucoup .
    A +

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

Discussions similaires

  1. Probleme liens en CSS
    Par keishah dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 23/08/2006, 12h33
  2. probleme lien ODBC
    Par milielf dans le forum Access
    Réponses: 1
    Dernier message: 29/06/2006, 12h04
  3. [Configuration] probleme lien et variable
    Par yankey dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 23/03/2006, 23h31
  4. [HTML] problème lien
    Par miram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/02/2006, 13h13
  5. [FLASH MX2004] Probleme liens boutons
    Par pierpo dans le forum Flash
    Réponses: 2
    Dernier message: 16/11/2005, 23h31

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