Mettre un target dans un <select>

Elodie -  
 vg001 -
Bonjour,
Je voudrais savoir comment on fait pour que dans un select, on force l'ouverture de la page dans une autre page.
J'ai des frames et je voudrais que le lien sur ma liste s'ouvre dans une nouvelle frame.
Merci de votre aide.
Elodie

10 réponses

stfm Messages postés 60 Statut Membre 16
 
Salut,

tu dois mettre le target dans la balise FORM, par exemple :
<form name="formulaire" action="fichier.html" method="POST" target="Fdroite">
	<select name="liste" onchange="document.formulaire.submit();">
		<option value="O1">O1</option>
		<option value="O2">O2</option>
	</select>
</form>

enverra le résultat de ton formulaire dans la fenêtre qui s'appelle FDroite.

stf
0
elodie
 
Voilà mon code :
<script language="javascript">
<!--
function chgpage(formulaire)
{
if (formulaire.liste.selectedIndex != 0)
{
location.href = formulaire.liste.options[formulaire.liste.selectedIndex].value;

}
}
//-->
</script>
<form target="affich">
<h3><u>Chauffeurs :</u></h3>
<select name="liste" size=1 onChange="chgpage(this.form)">
<option selected>Camions :
<option value="/planning_www/admin/table_chauffeur/ajout_chauf.php3">Ajouter un chauffeur
<option value="/planning_www/admin/modif_chauff/choientreprisemodif.php3">Modifier un chauffeur
<option value="/planning_www/admin/supprimer_chauffeur/choientreprise.php3">Supprimer un chauffeur
</select>
</form>

Et ça ne marche pas.
0
stfm Messages postés 60 Statut Membre 16
 
OK, alors ce n'est pas un target qu'il faut utiliser, mais simplement modifier ton javascript :
<script language="javascript">
<!--
	function chgpage(formulaire)
	{
		if (formulaire.liste.selectedIndex != 0)
		{
			top.affich.location.href = formulaire.liste.options[formulaire.liste.selectedIndex].value;
		}
	}
//-->
</script>


Tu dois non pas changer l'adresse de la page courante, mais celle de la frame qui t'interesse. top te permet de partir du sommet du frameset. top.affich designe la frame "affich".

stf
0
elodie
 
J'ai une erreur de debogage. Il dir que top.affich est un objet et ne peut avoir une valeur null.
JE ne comprend pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stfm Messages postés 60 Statut Membre 16
 
ta frame s'appelle bien affich ??????

stf
0
elodie
 
En fait j'ai une page avec 3 frames gauche, milieu, droite.
La frame du milieu comporte 2 frames titre et affich.
Mes listes déroulante sont sur la gauche et je veux que ça s'afiche dans affich.
0
stfm Messages postés 60 Statut Membre 16
 
Bon, alors en imaginant que ta frame du milieu s'appelle milieu, tu devras mettre top.milieu.affich pour atteindre la fenetre affich.

stf
0
elodie
 
Merci beaucoup infiniment.
0
Olivier
 
Merci pour la démonstration.
Mais domment fait-on pour ouvrir les liens vers une nouvelle page et non dans une frame. Mes paramètres sont identiques, mais je souhaiterais l'ouverture vers une nouvelle page toute belle toute neuve et je galère un peu :(

Merci pour votre aide.
0
Olivier
 
OK désolé, c t si simple.
il faut remplacer la ligne locate.href.... par :
open(formulaire.listepages.options[formulaire.listepages.selectedIndex].value,"nomdelanouvellefenêtre");

+²OO
0
vg001
 
Bonjour a tous,
J'aimerais combiner ces 2 fonctions dans l'ideal, c'est-a-dire l'ouverture des liens de ma liste déroulante de ma page X dans une iframe qui est dans une page Y.
Combien codez-vous ca dans le javascript ? je suis perdue et novice :((((
Merci pour toute aide
Valerie
0