Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Des textbox au fonctionnement bien aléatoire

Envoyé par : Utilisateur anonyme

Date : 08/06/2005 18:13

Bonjour à tous,

Dans le cadre d'une application XUL, j'aurais souvent besoin de faire manipuler des dates aux utilisateurs.

J'ai donc créer un fichier XUL qui sera insérer par overlay dans les écrans de l'application.

Ce fichier XUL comporte trois textbox (jour, mois, année) et un bouton qui déclenche une popup (qui contient un calendrier).

Screenshot :

Si je clique sur une date dans le calendrier, les textbox sont mis à jour (correct).
Si je saisis une date dans les textbox, le calendrier se place à la bonne date (correct)

Le problème, c'est que si je saisis une date dans les textbox, ces derniers ne sont plus mis à jour lorsque que je clique sur une date dans le calendrier.

J'ai longtemps pensé à une erreur de ma part, mais là, c'est trop :

document.getElementById("datepicker-text-day").setAttribute("value", "");
document.getElementById("datepicker-text-month").setAttribute("value", "");
document.getElementById("datepicker-text-year").setAttribute("value", "");
alert(document.getElementById("datepicker-text-day").value+'/'+document.getElementById("datepicker-text-month").value+'/'+document.getElementById("datepicker-text-year").value);

Ce petit bout de code n'affiche pas // comme cela le devrait mais l'ancienne valeur saisie par l'utilisateur dans les textbox (ex : 12/12/2012)

Si vous voyez pourquoi il est impossible de modifier la valeur d'un champs textbox après l'avoir modifier manuellement, s'il vous plait, expliquez moi...

Sinon, peut être connaisez vous un widget de ce type qui fonctionne bien ?

Merci.

# Re: Des textbox au fonctionnement bien aléatoire

Envoyé par : Julien Appert

Date : 08/06/2005 18:32

si tu fais :

alert(document.getElementById("datepicker-text-day").getAttribute("value"));

à la place de :

alert(document.getElementById("datepicker-text-day").value);

ça marche... Ca arrive souvent ce genre de pb, du coup j'utilise toujours le getAttribute(), c'est plus sûr.

# Re: Des textbox au fonctionnement bien aléatoire

Envoyé par : Utilisateur anonyme

Date : 10/06/2005 13:26

Salut,

merci bien pour la solution que tu m'as donné. La valeur affichée dans le alert() est maintenant correct.

Seulement, le problème n'est pas vraiment résolu puisque ce qui est affiché dans les textbox n'est pas mis à jour par le code que j'ai donné plus haut :

document.getElementById("datepicker-text-day").setAttribute("value", "");

Si j'exécute ce bout de code et que je lis la valeur avec getAttribute(), c'est bon, mais l'affichage ne change pas.

Petite précision, si je modifie un seul des trois champs à la main, les deux autres champs peuvent être mis à jour.

C'est vraiment bizarre, saisir une valeur à la main dans un des champs de saisie le verrouille.

Si quelqu'un à une autre idée, je serais vraiment content de la connaitre parce que là, je bloque.

Merci.

# Re: Des textbox au fonctionnement bien aléatoire

Envoyé par : Julien Appert

Date : 10/06/2005 13:36

en fait, tout simplement, à la place de :

document.getElementById("datepicker-text-day").setAttribute("value", "");

faire :

document.getElementById("datepicker-text-day").value="";

Et là ça met bien tout à jour.

# Re: Des textbox au fonctionnement bien aléatoire

Envoyé par : Utilisateur anonyme

Date : 10/06/2005 13:46

whaaaa !!!

Je me prosterne devant toi, quelle idée de génie !

C'était si évident...

Merci beaucoup.

J'avoue que je suis tout de même un peu perplexe, est ce le fonctionnement normal ou un bug ? (je penche plutôt du côté du bug)

Encore merci.

# Re: Des textbox au fonctionnement bien aléatoire

Envoyé par : Julien Appert

Date : 10/06/2005 14:01

je suis d'accord c'est bien tordu. J'ai regardé avec l'inspecteur DOM :

l'attribut value était bien une chaîne vide dans le noeud DOM, mais l'ancien contenu était toujours présent dans la propriété value de l'objet javascript.

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.