Mettre un target dans un <select>

Fermé
Elodie - 13 janv. 2004 à 08:23
 vg001 - 9 sept. 2007 à 22:29
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 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 8 mars 2004 16
13 janv. 2004 à 09:13
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
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 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 8 mars 2004 16
13 janv. 2004 à 09:38
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
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 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 8 mars 2004 16
13 janv. 2004 à 09:54
ta frame s'appelle bien affich ??????

stf
0
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 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 8 mars 2004 16
13 janv. 2004 à 10:03
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
Merci beaucoup infiniment.
0
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
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
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