28220 sujets

CSS et mise en forme, CSS3

Je souhaite placer une combobox qui pour diverses raison se trouve être encapsulée dans une balise <a href=...
Avec IE, je peux sélectionner une option sans problème. Par contre avec Firefox, un clic sur la combo entraîne le chargement du lien de la balise <a href=...
Y a t'il une solution pour contourner ce comportement ?

Voici un exemple simple :
<html>
<body>
	<ul>
    <a href="http://www.yahoo.fr/">
		<li style="background: yellow;">
		Texte<br/>Texte<br/>
		<select name="combo"><option value="1">choix1</option><option value="2">choix2</option><option value="2">choix3</option></select>
		</li>
		</a>
	</ul>
</body>
</html>

Merci pour votre aide,
Ludovic.
Modifié par lbailly (22 Jan 2006 - 13:37)
Bonjour ludovic.

Non il n'y à aucune solution, parcequ'il ne peut pas en avoir.

Tu à dans le code que tu présentes 2 erreur graves :

a écrit :
<ul>
<a href="http://www.yahoo.fr/">

1. Une balise <ul> doit être obligatoirement suivis d'un élément de liste li, tu ne peut pas mettre un lien ici.

a écrit :
<a href="http://www.yahoo.fr/">
<li style="background: yellow;">

2. Une balise <a> est une balise inline, elle ne peut pas contenir une balise <li> qui est-elle une balise de type block.
Pour la différence entre balise inline et bloc tu peux consulter ce lien :

La structure des balises : bloc et en-ligne

Faute de corriger ces deux erreurs tu n'arriveras à rien avec un code de ce genre.

Jean-pierre

Ps: je n'ai pas relevé l'absence de form pour ton select, j'ai supposé que cétait juste pour l'exemple...
Je ne vois franchement pas quelle est le but de mettre un <select> dans un <a>, même si c'était valide. En outre, je trouve que firefox a le comportement le plus logique.
Bonjour,

Tu as raison, pour les points 1 et 2. Pour le form effectivement, je ne voulais pas alourdir le code.
En simplifiant encore l'exemple, pour arriver à ça :
<html>
<body>
    <a href="http://www.yahoo.fr/">
			Texte<br/>Texte<br/>	
			<select name="combo"><option value="1">choix1</option><option value="2">choix2</option><option value="2">choix3</option></select>
		</a>
</body>
</html>
On retrouve le comportement que je souhaite modifier.
La solution serait-elle de sortir syntaxiquement le <select> du <a> et de le positionner visuellement à l'intérieur avec un style CSS ?

Merci de ton aide,
Ludovic.

jpv a écrit :
Bonjour ludovic.

Non il n'y à aucune solution, parcequ'il ne peut pas en avoir.

Tu à dans le code que tu présentes 2 erreur graves :

<ul>
<a href="http://www.yahoo.fr/">

1. Une balise <ul> doit être obligatoirement suivis d'un élément de liste li, tu ne peut pas mettre un lien ici.

a écrit :
<a href="http://www.yahoo.fr/">
<li style="background: yellow;">

2. Une balise <a> est une balise inline, elle ne peut pas contenir une balise <li> qui est-elle une balise de type block.
Pour la différence entre balise inline et bloc tu peux consulter ce lien :

La structure des balises : bloc et en-ligne

Faute de corriger ces deux erreurs tu n'arriveras à rien avec un code de ce genre.

Jean-pierre

Ps: je n'ai pas relevé l'absence de form pour ton select, j'ai supposé que cétait juste pour l'exemple...
Modifié par lbailly (22 Jan 2006 - 13:38)
Bonjour,

Pour te montrer en situation réelle, tu peux aller voir ici : page concernée
édit par Igor: merci de faire de prendre le temps de faire de vrais liens pour les url à rallonge.
L'idée est de faire une page reprenant la mise en page des produits et d'ajouter dans chaque module produit une combobox avec la liste des prix.

Je trouve le comportement de Firefox étonnant : un clic de souris entraine 2 actions : l'affichage des données de la combo et l'exécution du lien. Je m'attendais à l'un ou l'autre mais pas aux deux en même temps.

Merci,
Ludovic.

QuentinC a écrit :
Je ne vois franchement pas quelle est le but de mettre un <select> dans un <a>, même si c'était valide. En outre, je trouve que firefox a le comportement le plus logique.

Modifié par Igor (21 Jan 2006 - 12:46)
Bonjour,

Rappel : Ce forum est consacré à fournir de l'aide dans le cadre des standards HTML XHTML CSS. Une question sur une page invalide n'a a priori pas lieu d'être, sauf s'il s'agit de demander de l'aide sur une erreur de validation que l'on souhaite corriger.

Corriger, valider (demander de l'aide à cet effet si nécessaire), puis revenir. Merci Smiley cligne
Modifié par Laurent Denis (21 Jan 2006 - 12:01)
Bonjour à toi aussi Smiley ohwell et bienvenue lbailly,

Tu as dû manqué le passage sur la présentation des codes dans ta lecture attentive des règles du forum, que tu n'as pas manqué de faire en t'inscrivant et les acceptant: 13- Mise en forme générale des messages.

Merci d'avance d'éditer tes messages en conséquence.
Modifié par Igor (21 Jan 2006 - 12:42)
Bonjour à tous,

Désolé pour les problèmes de mise en forme et contenu non conforme XHTML / CSS, je vais être plus rigoureux.

J'ai mis en ligne une page conforme présentant le problème http://www.ecotour.com/engine2.jsp (le code serveur n'est écrit, il est donc normal que le moteur par filtre ne fonctionne pas).

Sous IE, il est possible de consulter la combobox des prix mais sous Firefox c'est impossible car un clic sur celle-ci entraîne l'exécution du lien.
Le but étant d'afficher les prix dans le module produit lorsqu'un client souhaite en prendre connaissance. La combobox me semble bien adaptée mais je pourrais éventuellement placer un bouton ou une image cliquable pour afficher le contenu d'un div si cela permet de résoudre le problème.

On peut formuler le problème de la manière suivante : est-il possible d'avoir un contenu réactif à un clic de souris si ce contenu est placé dans une balise "a" sans pour autant exécuter le lien de la balise ?

Merci à tous,
Ludovic.
Bonjour,

J'avoue que je ne comprends pas bien la logique applicative de tes blocs.

Le lien a est affecté d'une url, et si je comprends bien tu voudrais récupérer la valeur du select pour discriminer l'affichage du résultat ?

Mais comment cela doit-il fonctionner ?

On selectionne une date et ... ?

Jean-pierre
Modifié par jpv (21 Jan 2006 - 16:12)
Bonsoir,

Soit le client clic sur le module produit et il part directement sur la fiche produit. Par défault, le prix sélectionné est le moins cher.
Soit le client sélectionne une date et il est redirigé automatiquement vers la fiche produit avec sa date sélectionnée.
L'affichage des dates est avant tout une indication donnée au client pour qu'il fasse son choix.

Note que cette page n'est pas "codée" la combobox n'est pas active et les critères ne fonctionnent pas. Cette page est destinée à remplacer celle-ci : http://www.ecotour.com/engine.jsp

Merci,

Ludovic.

jpv a écrit :
Bonjour,

J'avoue que je ne comprends pas bien la logique applicative de tes blocs.

Le lien a est affecté d'une url, et si je comprends bien tu voudrais récupérer la valeur du select pour discriminer l'affichage du résultat ?

Mais comment cela doit-il fonctionner ?

On selectionne une date et ... ?

Jean-pierre
lbailly a écrit :

Désolé pour les problèmes de mise en forme [... ]

Coucou Smiley coucou :

Igor a écrit :
Tu as dû manqué le passage sur la présentation des codes dans ta lecture attentive des règles du forum, que tu n'as pas manqué de faire en t'inscrivant et les acceptant: 13- Mise en forme générale des messages.