Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# XBL et <select/>

Envoyé par : Tangui

Date : 08/07/2009 10:11

Bonjour,

je veux étendre un <select name="country"/> grâce à XBL (je commence sur ce langage). Ma question est la suivante : est-il possible d'une manière ou d'une autre que mon XBL renvoie la valeur du pays et que cette valeur soit envoyée normalement lors de la soumission du formulaire ? Sachant que <select/> n'a pas d'atribut value.

D'avance merci,

Tangui

# Re: XBL et <select/>

Envoyé par : laurentj

Date : 08/07/2009 14:43

Salut,

bah il suffit de sélectionner la bonne valeur dans le select (avec setSelectedIndex ou en mettant l'attribut selected sur l'option correspondante).

# Re: XBL et <select/>

Envoyé par : Tangui

Date : 08/07/2009 15:08

Merci :)

# Re: XBL et <select/>

Envoyé par : Tangui

Date : 23/07/2009 17:08

En fait je cherche à transformer un select en carte SVG.

Le problème que je rencontre c'est qu'il ne semble pas possible de transformer l'apparence du <select/> une fois le binding lié à lui (je voudrais afficher un bloc à la place d'une liste déroulante).

Voici le code :

xbl.xhtml

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="xbl.css"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Test XBL</title>
</head>
<body>
<h1>XBL</h1>
<p>
<select class="country">
	<option>a</option>
	<option>b</option>
	<option>c</option>
	<option>d</option>
	<option>e</option>
	<option>f</option>
	<option>g</option>
	<option>h</option>
	<option>i</option>
	<option>j</option>
	<option>k</option>
	<option>l</option>
	<option>m</option>
	<option>n</option>
	<option>o</option>
	<option>p</option>
	<option>q</option>
	<option>r</option>
	<option>s</option>
</select>
</p>
</body>
</html>

xbl.css

select.country{
   -moz-binding:url(xbl.xml#binding1);
display:block !important;
-moz-appearance:none !important;
}

xbl.xml

<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <binding id="binding1">
<resources>
	<stylesheet>
	<![CDATA[
	@namespace url(http://www.w3.org/1999/xhtml);
	@namespace svg url(http://www.w3.org/2000/svg);
	]]>
	</stylesheet>
</resources>
<content>
	<children/>
		<svg width="100%" height="100%" viewBox="0 0 400 300" preserveAspectRatio="xMidYMid" xml:lang="fr" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
		<title>Test</title>
		<rect x="100" y="100" width="100" height="100" fill="yellowgreen"/>
		</svg>
</content>
 </binding>
</bindings>

# Re: XBL et <select/>

Envoyé par : laurentj

Date : 24/07/2009 15:25

bon déja, la balise stylesheet ne permet que d'indiquer l'url d'une feuille css, pas d'y inclure du style directement

Ensuite, le résultat de ton xbl ici, ça va être

 <select class="country">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
<option>e</option>
<option>f</option>
<option>g</option>
<option>h</option>
<option>i</option>
<option>j</option>
<option>k</option>
<option>l</option>
<option>m</option>
<option>n</option>
<option>o</option>
<option>p</option>
<option>q</option>
<option>r</option>
<option>s</option>
       <svg width="100%" height="100%" viewBox="0 0 400 300" preserveAspectRatio="xMidYMid" xml:lang="fr" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
	<title>Test</title>
	<rect x="100" y="100" width="100" height="100" fill="yellowgreen"/>
</svg>
   </select>

Donc, effectivement, ça ne va pas te donner grand chose. Il faudrait au moins faire un binding pour la balise option, en plus de celui du select..

Cependant, peut être vaudrait-il mieux que ton binding genère lui même "à la main" (avec du javascript) son contenu..

à voir.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.