Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 16h15   #1
Invité de passage
 
Inscription : août 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 2
Points : 0
Points : 0
Par défaut recalcul automatique de date avec le DateField/DatePicker

bonjour à tous,

je rencontre actuellement un problème avec le DatePicker.
Ce dernier convertit automatiquement les données saisies dans le champ à côté du calendrier. Du coup, il m'est impossible de faire les contrôles que je souhaite sur les dates et de ré-afficher ce que l'utilisateur a saisi pour qu'il se rende compte de son erreur.

Dans la configuration de mon objet DateField, j'ai les options suivantes:
Code :
1
2
3
4
5
6
7
8
9
10
 
 var config = {format: 'd/m/Y'};
 Ext.apply(config, options);
 Ext.apply(config, {
        name: input.name,
        inputType : input.type,
        width: input.getWidth() + 16, //le bouton
        applyTo: input.id
 });
 var date = new Ext.form.DateField(config);
Je pensais ajouter l'option ce qui donnerait ça
Code :
1
2
3
4
5
6
7
8
9
10
11
 var config = {format: 'd/m/Y'};
 Ext.apply(config, options);
 Ext.apply(config, {
        validate : false,
        name: input.name,
        inputType : input.type,
        width: input.getWidth() + 16, //le bouton
        applyTo: input.id
 });
 var date = new Ext.form.DateField(config);
mais ça ne semble pas fonctionner.

Pouvez-vous me dire s'il existe un moyen de désactiver ce re-calcul s'il vous plait ?

Merci d'avance de vos réponses.
NicoSquare est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 17h30   #2
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
qu'entends tu par recalculer ??

le date picker utilise le fichier locale
si aucun n'est chargé il utilise la local us

ne pas utiliser dateFormat dans le champs mais juste charger la locale FR

une date dans mon data store sera affichée avec le format de la locale.

pour les champs datefield les attribut minValue et maxValue sont des dates (au sens data) disabledDates est un tableau de date invalides
disabledDays les jours interdits et enfin regex avec ça tu peux faire tes vérifications
le submitformat définit le format dans lequel la date sera envoyé au serveur
http://dev.sencha.com/deploy/ext-4.0...orm.field.Date


il n'y a pas de recalcul
il y a d'un côté la date la donnée et c'est sur ça qu'extjs se base pour faire les vérifs
et de l'autre sa représentation (l'affichage) et là il se base sur la locale

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 10h56   #3
Invité de passage
 
Inscription : août 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 2
Points : 0
Points : 0
bonjour Sekaijin,

tout d'abord, merci pour ta réponse.

Par contre, en relisant mon poste, j'ai vu que j'avais mal exprimé mon problème.

En effet, lorsque je parle de recalcul de la date par le date picker, j'aurai dû préciser dans le cas d'une erreur de saisie.

Ex: dans mon champ date, sans passer par le calendrier, je saisis 45 (volontairement quelque chose qui ressemble en rien à une date) et sur le onBlur du champ, ext. me recalcule ce 45 et affiche dans le champ une date (14/09/2011).

J'espère avoir été plus clair.
NicoSquare est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 14h16   #4
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
le plus simple est de ne pas le rendre éditable.
(modifiable juste par le date picker)

par contre si tu laisse la saisie manuelle
tout ce qui peut être converti en date le sera

et ça aide
si tu saisi le 00/03/2012 cela te donnera le 29/02/2012
et si tu saisi le 00/03/2011 tu aura le 28/02/2011

généralement en interdisant la saisie et en jouant avec tous les attribut de contrôle de la valeur tu dois t'en sortir

enfin il n'y a pas re calcul
lorsque tu tape un entier cela corresponds un nombre de jour du mois courant ainsi 01 le premier du mois courant donc le 01/08/2011
31 donne le 31/08/2011
etc.
lorsque ton nombre dépasse le dernier jour tout comme pour mon exemple de février
tu avance dans le temps et te positionne à x jour du début du moi courant

45 c'est 31 + 14 donc le 14/09/2011
si tu fais la même expérience un mois de 30 jours ça te donnera le 15 du mois suivant


de même dans la saisie abrégées tu peux saisir le jour et le mois
12/09 ce qui corresponds au 12/09 de l'année en cours donc le 12/09/2011
c'est très pratique pour obtenir une date particulière
45 jours après le début du mois de février
45/02 = > le 17/03/2011

mais le décompte fonctionne aussi sur les mois
aujourd'hui + 5 mois
30/13 => 30/01/2012

tu n'as donc pas saisi n'importe quoi mais une date.
45 le 45 eme jour du mois courant est le 14 eme de septembre 2011

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h25.


 
 
 
 
Partenaires

Hébergement Web