Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# bug flex ?

Envoyé par : Utilisateur anonyme

Date : 23/12/2005 11:12

Bonjour,

soit le code suivant :

<?xml version = '1.0' encoding = 'utf8'?>
<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="start();">
<script>
function start()
{
var menu=document.getElementById("menu");
var popup=document.createElement("menupopup");
var item1=document.createElement("menuitem");
var item2=document.createElement("menuitem");
item1.setAttribute("label","un");
item2.setAttribute("label","deux");
item1.setAttribute("value","un");
item2.setAttribute("value","deux");
popup.appendChild(item1);
popup.appendChild(item2);
menu.appendChild(popup);
menu.selectedIndex=1;
}

function validation()
{
var menu=document.getElementById("menu");
alert(menu.selectedItem.label);
}
</script>
<menulist id="menu" >
</menulist>
<button oncommand="validation();" label="Valider"/>
</window>

si j'appuie sur le bouton validation, j'affiche "deux". Par contre si je "flex" le menu

<menulist id="menu" flex="1">

l'appuie sur le même boutton (sans sélectionner la liste) me donne "undefined"

tester sur firefox 1.0.6 et 1.5.

Quelqu'un a-t-il une explication ?

Merci

# Re: bug flex ?

Envoyé par : Julien Appert

Date : 23/12/2005 11:35

Effectivement, je viens de tester, j'ai la même chose. Avec le flex, ni le label ni la value du selectedItem ne sont renseignés. Tu peux évidemment passer outre avec

alert(menu.label);

mais ça ne nous dit pas d'où vient le pb...

# Re: bug flex ?

Envoyé par : Utilisateur anonyme

Date : 23/12/2005 11:41

Effectivement je n'y avais pas penser. Je vais me contenter de ça pour l'instant.

Merci.

# Re: bug flex ?

Envoyé par : Eric

Date : 30/12/2005 17:24

Testé sous Xulrunner, l'erreur est la suivante :

Warning: reference to undefined property menu.selectedItem.label Source File: chrome://tsnm-ecap/content/test/test.js Line: 105

alert(menu.selectedItem.label);

par contre, si on remplace

alert(menu.selectedItem.label);

par

alert(menu.selectedItem.getAttribute("label"));

tout fonctionne normalement

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.