Select lien et iframe

Fermé
Theophile76 Messages postés 1791 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 16 avril 2021 - Modifié par Theophile76 le 19/07/2010 à 03:42
Theophile76 Messages postés 1791 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 16 avril 2021 - 20 juil. 2010 à 23:51
Bonjour,
j'ai un menu "select" (mode formulaire) dans ma page 2 dans un iframe de ma page 1 de ce type :
Page 1 :
<iframe width="700" src="page2.html" frameborder="0" height="140">  
</iframe>

Page 2 :
<body>
<head>  
<script type="text/JavaScript">  
function MM_jumpMenu(targ,selObj,restore){  
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");  
if (restore) selObj.selectedIndex=0;  
}  
</script>  
</head>  
<body>  
<select onchange="MM_jumpMenu('parent',this,0)" style="width:65px">  
<option selected="selected" value="">Autres</option>  
<option value="liens1">liens1</option>  
<option value="liens2">liens2</option>  
<option value="liens3">liens3</option>  
</select></body> 


Le problème et que quand je sélectionne le lien 1 par exemple, il m'ouvre le tout dans une nouvelle alors que je voudrais qu'il l'ouvre dans l'iframe de la page 1
Comment faire svp ?
Merci.



On s'ennuie pas avec l'informatique :)

2 réponses

LDMBatman Messages postés 95 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 10 avril 2014 39
Modifié par LDMBatman le 19/07/2010 à 16:27
Bonjour, essaie de dire à ton lien de s'ouvrir dans ton iframe de cette façon :

Page 1 :

<iframe name='nomFrame' width="700" src="page2.html" frameborder="0" height="140">
</iframe>


Page 2 :
<body>

<head>
<script type="text/JavaScript">
function MM_jumpMenu(targ,selObj,restore){
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
</script>
</head>
<body>
<select onchange="MM_jumpMenu('nomFrame',this,0)" style="width:65px">
<option selected="selected" value="">Autres</option>
<option value="liens1">liens1</option>
<option value="liens2">liens2</option>
<option value="liens3">liens3</option>
</select></body>
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 19/07/2010 à 17:03
Salut.

Je pense que ceci devrait suffire :
<select onchange="document.location.href = this.value" style="width:65px">   
    <option selected="selected" value="">Autres</option>   
    <option value="liens1">liens1</option>   
    <option value="liens2">liens2</option>   
    <option value="liens3">liens3</option>   
</select>

Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0
LDMBatman Messages postés 95 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 10 avril 2014 39
19 juil. 2010 à 17:05
La solution que tu viens de donner va avoir pour résultat de remplacer toute la page par le lien. D'après ce que j'ai compris, il veut que la page sélectionnée par son lien s'ouvre dans son iframe.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
19 juil. 2010 à 17:20
Faux.
L'élément document représente la page courante, celle qui exécute le JS.
Donc, en modifiant document.location.href, on modifie uniquement l'URL de la page qui exécute ce JS, donc l'URL de la page dans l'iframe.
0
Theophile76 Messages postés 1791 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 16 avril 2021 372
19 juil. 2010 à 23:16
Ok merci beaucoup, ça fonctionne, j'ai prix note de tout ça mais j'ai décidé de supprimer les iframes car il parait que c'est pas très bien d'utiliser ça ....
Par contre si quelqu'un connais un moyen pour faire ceci : http://nsa15.casimages.com/img/2010/07/19/100719111622830232.png
En fait sur l'image, la partie div correspond à mon ancienne iframe.
Le principe et qu'on aura pas le même résultat de recherche suivant le liens sur lequel on sera.
Mais sans avoir besoin de recharger toute la page à chaque fois ...
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
19 juil. 2010 à 23:46
Il faudra encore utiliser du Javascript.
Qui dit JS dit plusieurs méthodes.
Je te propose de créer un champ caché et de modifier sa valeur en fonction du lien cliqué.

Pour l'input :
<input type="hidden" name="categorie" id="categorie" value="<?php echo isset($_GET['categorie']) ? $_GET['categorie'] : 'web'; ?>" />

Les liens :
<a href="search.php?categorie=articles" onclick="setCategorie('articles'); return false;">Articles</a>

<a href="search.php?categorie=images" onclick="setCategorie('images'); return false;">Images</a>


La fonction setCategorie :
function setCategorie(catName) {
    document.getElementById('categorie').value = catName;
}
Il peut y avoir des erreurs de syntaxe, j'ai codé directement dans la zone de texte.
0
Theophile76 Messages postés 1791 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 16 avril 2021 372
20 juil. 2010 à 23:51
Ok merci je vais essayer de comprendre tout ça (car là j'ai un peu du mal ><)
0