Php Javascript modifier deux frames

dicy Messages postés 19 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 7 juin 2010 - 5 mai 2010 à 11:27
dicy Messages postés 19 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 7 juin 2010 -
Bonjour
J'ai une page (sommaire.php) contenant deux frames, le premier s'appelle referentiel qui pointe sur une page "macro.php" et le deuxieme s'appelle document qui ne pointe sur rien au départ (mais qui pointera par la suite vers une page afficheDoc.php)
sur le frame referentiel, j'ai des liens. Si on clique sur un des liens, les deux frames sont sensé etre modifié.
J'ai donc insérer le script (javascript) suivant sur macro.php



<script type="text/javascript">
 function Menu(urlmenu,urlpage) 
 {
parent.referentiel.location.href=urlmenu;
parent.document.location.href=urlpage;
 }
 </script>




et les liens sont inséré comme suit:




<a href="javascript: Menu('processJS.php?IdMpr=<?php echo$donnees['Id'];?>','afficheDoc.php?IdMpr=<?php echo$donnees['Id'];?>');"><?php echo $donnees['Libellé'];?></a>





Or quand je clique sur un lien, il ne m'affiche plus le frame referentiel et me renvoie que le résultat de document.

Une idée sur ce qui se passe???

MErci pour votre aide

A voir également:

4 réponses

avion-f16 Messages postés 19254 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 16 septembre 2025 4 507
5 mai 2010 à 11:42
Il suffit de faire tes liens comme ceci :
<a href="cible.html" onclick="parent.document.getElementsByTagName('iframe').item(1).src = this.href; return false;">Lien</a>
Perso, j'éviterais d'utiliser les frames : AJAX pourrait faire l'affaire.
0
dicy Messages postés 19 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 7 juin 2010
5 mai 2010 à 11:57
pour utiliser
<a href="cible.html" onclick="parent.document.getElementsByTagName('iframe').item(1).src = this.href; return false;">Lien</a>

Il faudra mettre le nom du frame dans 'iframe', c'est ça?
Et pour item(1), ça remplace quoi?
ça va pas me changer que un seul frame?


Excuse moi mais je suis débutante, mais pour AJAX, je fais comment (seulement des indications, vu que je n'y connais rien du tout)

Et merci pour ta réponse :)
0
avion-f16 Messages postés 19254 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 16 septembre 2025 4 507
5 mai 2010 à 12:03
getElementsByTagName => chercher les éléments par nom de balise : c'est le nom de la balise q'il faut mettre, donc "iframe".
item(1) permet de choisir la deuxième balise dans la liste retournée par getElementsByTagName (c'est comme les array : on compte à partie de 0).

Pour AJAX, commence déjà par retirer les iframes et à placer tes liens sur ta page principale.
Crées un bloc pour contenir le texte (bloc qui remplacera la frame "referentiel").
https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244425-le-concept-dajax
https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244798-lobjet-xmlhttprequest
0
dicy Messages postés 19 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 7 juin 2010
5 mai 2010 à 12:11
Merci avion-f16 pour cette piste. Je vais voir les liens proposés!
Bonne journée!
0