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

AJAX Discussion :

[AJAX] ajax et pop-up


Sujet :

AJAX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut [AJAX] ajax et pop-up
    Bonjour à tout,

    J'ai un problème sur un script en somme assez inutile mais bon, j'aime les choses inutiles car en général, c'est grâce à elles que je m'améliore... (hum hum...)

    Voici l'exposé de mon problème en "français" tout à d'abord :
    J'ai ma page news.php dans laquelle se trouve une div dont l'id est composé du mot "voir" et du numéro de la news donc "id=voir-5" par exemple. Cette div contient un lien qui qui m'ouvre une pop-up vers les commentaires correspondant à cette news.
    J'ai aussi dans cette page news.php un lien qui m'ouvre une pop-up pour ajouter un commentaire à la news correspondante.
    J'aimerais qu'au moment de l'ajout du commentaire la page news.php se mette à jour en ajax et m'indique qu'un nouveau commentaire a été ajouté.


    Exposé de mon problème grâce au code source maintenant (je suis sûr que vous comprendrez mieux ^^) :
    news.php :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div style='float:left;margin-left:10px;'>
    	<hr />
    	<a style='cursor:pointer;' onCLick="window.open('ajout_commentaire-5.htm', 'Ajouter un commentaire', 'width=555px, height=305px');">[ajouter un commentaire]</a>
    </div>
    <div style='float:right;' id='voir-5'>
    	<hr />
    	<a style='cursor:pointer;' onCLick="window.open('consulter_commentaire-5.htm', 'Consulter les commentaires', 'width=555px, height=530px');">[voir les commentaires (13)]</a>
    </div>


    ajout_commentaire.php :
    Code JavaScript : 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
    <script type="text/javascript">
    	function chargeNews(news){
    		nombre=file('nombre_commentaire-' + news + '.htm');
    		if(nombre==1){
    			$height=110;
    		}
    		else{
    			$height=0;
    		}
    		for(i=0;i<nombre;i++){
    			if(i<5){
    				$height+=100;
    			}
    		}
    		$height+=30;
    		div='voir-' + news;
    		window.opener.document.getElementById(div).innerHTML="<hr /><a style='cursor:pointer;' onCLick=\"window.open('consulter_commentaire-" + news + ".htm', 'Consulter les commentaires', 'width=555px, height=" + $height + "px');\">[voir les commentaires (" + nombre + ")]</a>";
    	}
    	function file(fichier){
    		if (window.XMLHttpRequest) 
    			xhr_object = new XMLHttpRequest();
    		else 
    			if (window.ActiveXObject) 
    				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    			else 
    				return (false);
    		xhr_object.open("GET", fichier, false);
    		xhr_object.send(null);
    		if (xhr_object.readyState == 4) 
    		return (xhr_object.responseText);
    		else 
    			return (false);
    	}
    </script>


    Résultat attendu sur news.php :
    [voir les commentaires (14)]
    Or, le nombre de commentaires reste inchangé et aucune erreur n'est signalée ni par web developper toolbar ni par firebug... snif

    Auriez-vous une idée ?
    Lorsque je fais
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(window.opener.document.getElementById('voir-5').value);

    Il me dit "undefined".
    Je sèche là...

    Merci d'avance à vous et bonne soirée/nuit

  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 Miaou le chat thon Voir le message
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(window.opener.document.getElementById('voir-5').value);

    Il me dit "undefined".
    Un div n'a pas de value

    Sinon, dans la pop, une fois la réponse reçue (donc le commentaire ajouté), il te suffit d'appeler la fonction Ajax de l'opener de mise à jour de l'affichage.

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    oui pour le .value, je l'ai mis en exemple mais c'est vrai que ce n'était pas le meilleur ^^ c'était juste pour dire que ça ne fonctionnait pas ^^
    pour la fonction, je sais que je peux faire ça, appeler celle de la page mère mais je voulais réussir comme ça :/
    enfin tant pis, si pas d'autre solution...

    en tout cas, merci pour ton aide

Discussions similaires

  1. Formulaire dynamique avec Ajax dans un pop-up
    Par mlancelin dans le forum Symfony
    Réponses: 22
    Dernier message: 30/09/2016, 18h02
  2. [AJAX] Ajax & "pop-up" Greybox
    Par kaisus dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/02/2007, 19h54
  3. [AJAX] Ajax et les accents
    Par nico-pyright(c) dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/12/2005, 20h09
  4. [AJAX] Ajax et javascript contenu
    Par zekey dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/09/2005, 20h16
  5. [AJAX] AJAX et javascript
    Par spud5351 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/09/2005, 10h16

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