Firefox et actualisation d'iframe sur onclick

donia -  
 Samuel -
Bonjour,
j'ai fait une page qui marche bien sur IE mais qui ne marche pas sur firefox! quelle galère!
est-ce que quelqu'un peut me dire ce qui pose problème?
voici le module

<head>
<SCRIPT LANGUAGE="JavaScript">
function loadPage(provenance) {
var chemin = "selectionproduits2.php?"+provenance;
ed = document.getElementById("produits")
ed.setAttribute("src", chemin)
}
</script>
</head>
<body>
<img id="F024" onclick="loadPage(this.id)" src="images/menufille024.gif" border="0" width="94" height="32" alt="">

<iframe onLoad="calcHeight(this)" src="selectionproduits.php" name="produits" WIDTH="100%" HEIGHT="100%" frameborder=no scrolling="no"></iframe>
</body>

le site (en travaux donc!) est http://legrenierdesjades.com
merci de votre aide
donia
A voir également:

3 réponses

[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28
 
Bonjour,
Pour info ca ne marche pas non plus avec safari et firefox 3 (mac os )
j'ai trouvé quelque chose qui pourra t'aider
http://www.nanoum.net/blog/9_setAttribute.html

bonne continuation :)
0
donia
 
oh la la quelle galère, j'avais déjà mis un temps fou à faire ça! et de voir que ça ne marche que sous IE... ça me met le moral en l'air.
j'ai bien regardé ton lien mais mon niveau est tellement débutant que c'est hyper ardu pour moi.
je verrais ça demain matin.
merci de m'avoir répondu en tout cas,
donia
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28 > donia
 
De rien.
Mais pourquoi tu veux faire ça en javascript? ton site a l'air assez simple, un simple lien sur une image suffit pour changer de page non?
0
donia > [o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention  
 
mais je ne veux pas changer de page, ni réafficher totalement la page. je veux juste réactualiser les produits dans mon iframe en fonction de la sélection.. sais tu si j'ai un autre moyen de faire ça?
donia
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28 > donia
 
ton iframe c'est le rectangle au milieu de ta page?
0
donia > [o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention  
 
oui c'est ça.. on sélectionne les produits à afficher sur la page d'index et l'iframe affiche les produits correspondants (sans réafficher toute la page).
tu crois qu'il y a une autre solution?
j'ai passé plusieurs heures à faire ce petit module et chui verte de voir qu'il ne marche que sur IE!
merci de ton aide si tu peux
donia
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28
 
Je pense aussi: t'as une entête et deux menus, c'est pas si grave.
C'est vrai que c'est plus classe sans rechargement, mais bon à toi de voir. Si tu veux apprendre un nouvel outil utile, c'est l'occasion :)
0
donia
 
oui, tous les boutons de la page vont réactualiser l'iframe.

c'est nettement plus joli de ne réafficher que l'iframe c'est pour ça que je m'obstine mais bon, chui là dessus depuis avant hier soir et c'est un peu décourageant!

je vais essayer ta méthode,
je te dirais!
donia
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28 > donia
 
au fait, moi j'utilise des div dans lesquelles j'affiche ce que je veux avec javascript et innerhmtl, je ne sais pas comment utiliser les iframes.
<div id="centre"> </div>
et en js: document.getelementbyid("centre").innerhtml = "gna gna gna gna"
0
donia > [o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention  
 
coucou
à priori je viens de trouver un truc qui marche sur IE et firefox... j'espère qu'il marche aussi pour les autres!

voici le module

<script language="Javascript">

function affichresultat(provenance)
{
if (provenance !=="") {
var chemin = "selectionproduits3.php?"+provenance;
document.getElementById("produits").src = chemin;
}
else {
document.getElementById("produits").src = "selectionproduits3.php";
}
}
</script>

<!-- (bouton appel affichresultat -->
<img id="F024" onclick="affichresultat(this.id)" src="images/menufille024.gif" border="0" alt="">

<!-- iframe -->
<IFRAME SRC="selectionproduits3.php" name="produits" id="produits" width="100%" height="100%"></IFRAME>


ça a l'air de bien marcher et je récupère bien l'origine du clic dans le php de la iframe.

qu'en penses tu? (voir : http://legrenierdesjades/index2.php)

(je vais améliorer, faut qu'il y ait "la petite main" pour signifier que c'est une image cliquable - ça doit pas être grand chose, un bon vieux href manquant)

en attendant ta réponse qui sera peut-être pleine de mises en garde : YOUPIIII ! ça marche sous firefox!

amicalement
donia
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28 > donia
 
ça marche bien :)

Maintenant reste à savoir comment tu vas afficher les informations correspondantes aux pages.
Soit tu charge tout chez le client au début, et dans ce cas ta fonction javascript devra juste masquer ou afficher, soit tu demande ces pages à ton serveur avec xmlhttprequest :)

Si ton site est pas trop gros (ce qui m'a l'air d'être le cas), la première solution ira très bien, tout dépend de ce que tu dois afficher.

amicalement aussi =)

REplay
0
donia > [o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention  
 
ah la la, je ne comprend même pas de quoi tu parles mais ça ressemble à une grosse galère qui me tombe dessus! ;-)))
0
Antoine B
 
Juste une petite chose toute simple avant de se casser la tête avec des scripts ...
Lorsque tu crée ton Iframe, tu lui donne un "name" et un "id" (le même, disons "monIframe").
En fait, une IFRAME se comporte exactement comme une ... FRAME !

Bref, en utilisant le paramètre HTML standard "Target" ... ça donne :

<a href="selectionproduits2.php?#ID_produit# TARGET="monIframe"><img src="images/menufille024.gif" border="0" width="94" height="32" alt=""></a>

N.B j'ai mis "ID_produit" entre # car je suppose que c'est une variable issue de ton traitement PHP.


Voilà, en tout simple ... Mais je suis peut-être passé complètement à côté ... ?
0
Samuel
 
salut,
en effet, la solution d'Antoine est la plus simple et le moins contraignante.
Ah bravo, moi qui cherchais midi à 14h, même pas pensé à ça...

Cdt,
Sam
0