2014-07-18 2 views
2

Je me demande s'il existe un moyen d'ajouter des attributs ID aux boutons 'accepter' et 'annuler' dans une boîte de dialogue?Mozilla XUL - Identifiant du bouton de dialogue

<dialog id="myDialog" title="My Dialog" 
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
     onload="window.sizeToContent();" 
     buttons="accept,cancel" 
     buttonlabelaccept="Set Favourite" 
     buttonaccesskeyaccept="S" 
     ondialogaccept="return doSave();" 
     buttonlabelcancel="Cancel" 
     buttonaccesskeycancel="n" 
     ondialogcancel="return doCancel();"> 

Je sais que je peux ajouter des boutons comme ceci:

<button 
    id="identifier" 
    class="dialog" 
    label="OK" 
    image="images/image.jpg" 
    disabled="true" 
    accesskey="t"/> 

Mais peut-être ce fait dans un contexte de dialogue?

Répondre

3

Cela peut être fait dans un contexte de dialogue. Mais le code que vous avez posté pourrait ne pas fonctionner comme prévu en fonction de ce que vous espérez atteindre.

Le bouton que vous avez affiché ne fonctionnera pas comme bouton d'acceptation sauf s'il a l'attribut spécial dlgtype="accept". Citant this article qui parle de la création de boutons de dialogue personnalisée:

Si vous n'êtes pas satisfait de la disposition des boutons prédéfinis dans le dialogue, vous pouvez mettre des éléments de bouton explicites dans votre fichier XUL et ajouter un attribut dlgtype pour eux. Les valeurs valides pour dlgtype sont les six types de boutons listés ci-dessus.

<button 
    dlgtype="accept" 
    class="dialog" 
    label="OK" 
    image="images/image.jpg" 
    disabled="true" 
    accesskey="t"/> 

Cette approche vous permet de choisir où le bouton d'acceptation est situé, style de celui-ci, etc.


Si le but est d'obtenir un bouton accepter quelque part dans le code et manipuler ses propriétés, utilisez simplement document.documentElement.getButton("accept"). Citer le même article:

// Disable the OK and Cancel btns 
document.documentElement.getButton("accept").disabled = true; 
document.documentElement.getButton("cancel").disabled = true; 

Faites-moi savoir si vous vouliez quelque chose de différent.

Questions connexes