Problème dans le changement de frames

Signaler
Messages postés
103
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
10 mars 2010
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Salut,

Je peine un peu, si quelqu'un a une solution, je suis interressé. Je vais essayer d'être clair, c'est un peu tordu.

Je fais une page nommée accueil.htm qui comporte des frames.
J'ai une barre de recherche dans la frame 'main', je tape un mot, les résultats s'affichent avec des liens pour ouvrir la page. Tout ceci dans la frame 'main', c'est impeccable.

J'ai essayé de placer ma barre de recherche dans une autre page simple (index).
Je voudrais que le résultat s'affiche dans la page accueil, dans la frame 'main'.

voici un extrait du code appelé :

function ouvrir(frm){
window.open("site/accueil.htm","_top","");
search(frm);
}

function search(frm) {
win=window.open("","main","scrollbars");

//ensuite quelques lignes pour que la variable 'affichage'
//contienne la page et les lignes de résultat en rapport
//avec frm....

win.document.write(affichage);
}

Problème : Si je mets "_blank", je ne remplace pas la page index, si je mets "_top", le résultat de la recherche est dans une page a part.

Merci de votre aide.
bertrouf6111@/ /yahoo.fr

11 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,
la barre de recherche située dans "index"
ne peut-elle pas appeller une function située
dans "main" où sera donc fait le window.open.
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
103
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
10 mars 2010
8
En fait, je ne vois pas comment appeler une fonction qui serai située sur une autre page que celle qui est active.

D'autant que j'utilise les .js

A quel moment dois-je appeler la fonction search ?

bertrouf
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
pas de problème si ce sont des frames différentes.
si ce sont des pages différentes : l'une est le
pop-up de l'autre ? ou comment est-elle chargée ?
[ quel que soit le cas, on doit pouvoir communiquer,
soit directement, soit en rechargeant la page. ]
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
103
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
10 mars 2010
8
Ce sont des pages différentes.
La page acceuil s'ouvre en window.open lors du lancement de la fonction par la form.
Ensuite, la fonction search s'active dans la frame main de la page acceuil.

Le problème, c'est que le résultat s'affiche dans une frame alors que la page qui appelle n'a pas de frame.

La page des résultats se présente comme ça :
affichage = <html>ligne1
ligne2
ligne3</html>

win.document.write(affichage);
bertrouf
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
encore quelques précisions ? [ je suis long à comprendre ]
la function search de la frame main de la page accueil,
[ qui est un pop-up ] doit afficher des résultats quelque part.
j'ai compris là ?
où doivent aller ces résultats ?
dans "quelque chose" [ y compris autre pop-up ]
de la page mère qui a ouvert le pop-up accueil ?
dans nouvelle pop-up à ouvrir ?
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
103
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
10 mars 2010
8
C'est presque ça. ;-)

Ce n'est pas : "La function search de la frame main de la page accueil, [ qui est un pop-up ] doit afficher des résultats quelque part."

C'est :
La fonction search de la page index qui n'a pas de frame doit afficher les résultats dans la frame main de la page accueil, qui est un popup.

bertrouf
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
ah, je commence à cerner le problème
une ébauche :
P0 : ouvre le pop-up et
renseignera la frame

<script type="text/javascript">
var d=window.open("p1.htm","accueil","");
</script>


P1 : le pop-up avec frames
<frameset cols="50%,*">
 <frame name=p1 src="p11.htm">
 <frame name=p2 src="p12.htm">
</frameset>

p11 : la frame1


p12 la frame 2 sans importance ici
l'important c'est d.parent.p1.txt.value
d=variable globale=pop-up
p1=nom frame
txt.value=zone à renseigner
ça convient ?
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
103
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
10 mars 2010
8
Tu vas comprendre très vite.

www.mth-hydraulique.com/index.htm
Ensuite, tape "pompe" dans la barre de recherche, par exemple.

bertrouf
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
pas mal le site.
il fonctionne, sans problèmes.
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
103
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
10 mars 2010
8
Hélas non, il ne fonctionne pas, la page de résultat ne doit pas s'ouvrir seule, elle doit être à la place de la frame main (le logo ABC).

J'ai essayé ton ébauche, ce n'est pas un texte que je veux dans le input, c'est un code complet.

Sinon, à défaut, je peux mettre le résultat en nouvelle fenetre, avec un "fermer cette fenetre", une fois que le lien est ouvert à sa place.
bertrouf
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
dans l'ébauche
d.parent.p1.txt.value='exemple'
était un exemple, on peut accéder
à tout dans "d.parent." comme sur une "page
normale" : innerHTML,getElementById,name champs ...
enfin je pense, faut tester.
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]