Valeur d'un input avec Datepicker jQuery

Fermé
Simawon - 3 sept. 2010 à 19:07
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 6 sept. 2010 à 17:47
Bonjour,

J'ai créé un formulaire qui permet de modifier les enregistrements d'une base de données.

Le principe est que j'appelle l'enregistrement en question dans la base et j'affiche les valeur des champs dans le formulaire. Ensuite on modifie ou pas telle ou telle valeur et on valide la modif.

Parmi les champs il y a deux dates qui doivent donc s'afficher dans deux balises input (une de début et une de fin). J'utilise Datepicker de jQuery pour saisir les dates et les modifier afin qu'il n'y ait pas d'erreurs sur les formats saisis.

Mon problème c'est que pour ces dates, je n'arrive pas à afficher les valeurs existantes dans le "input" au chargement. Les champs input des dates restent vident. Pourtant je mets bien ma balise echo avec le contenu de la variable dans le value.

Il semble qu'il y ait une incompatibilité avec Datepicker. Quand j'enlève le "id=" qui permet de renvoyer le input au javascript, ça fonctionne.

Peut être que l'un d'entre vous s'est retrouvé confronté à ce type de problème. Et éventuellement aurait une solution à proposer.

Merci d'avance pour vos réponses.


mes balises input :

<tr>
<td width="120">Date Début</td>
<td><input value="<?php echo $date_debut ; ?>" type="text" class="text" id="date_debut"  name="date_debut"   /></td>
</tr>
<tr>
<td width="120">Date Fin</td>
<td><input value="<?php echo $date_fin ; ?>" type="text" class="text" id="date_fin"  name="date_fin"   /></td>
</tr>
A voir également:

3 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
4 sept. 2010 à 13:52
Salut.

« J'utilise Datepicker de jQuery pour saisir les dates et les modifier afin qu'il n'y ait pas d'erreurs sur les formats saisis. »
Et si on désactive le Javascript, crois-tu que ton Datepicker fonctionnera encore ?
Non, donc on pourra mettre n'importe quoi dans le champ !
N'oublie pas de faire une vérification côté serveur.

Quel "datepicker" utilises-tu ?
Si c'est celui de jQuery UI, essaye d'initialiser la date en JS et pas avec la valeur du champ.
setDate                                     .datepicker( "setDate" , date )
Sets the current date for the datepicker. The new date may be a Date object or a string in the current date format (e.g. '01/26/2009'), a number of days from today (e.g. +7) or a string of values and periods ('y' for years, 'm' for months, 'w' for weeks, 'd' for days, e.g. '+1m +7d'), or null to clear the selected date.
https://jqueryui.com/datepicker/#method-setDate
0
Bonjour et merci avion-f16 de ta réponse.

J'ai enlevé le id pour désactiver le JS afin de vérifier si c'était bien un problème d'incompatibilité entre les 2. Mais le but est bien de garder le garder le JS actif. Ce qui n'empêche pas si besoin est, de faire une vérif côté serveur.

Celà dit effectivement j'utilise le Datepicker de jQuery UI. Je vais donc essayer d'adapter ta méthode à ce que je souhaite faire. Le problème c'est que j'y connais quasiment rien en JS. Donc a va être sport !!! J'essaye quand même et j'espère que si j'ai un souci, j'espère que je pourrai trouver de l'aide ici.

En tout cas merci beaucoup de ta réponse et de cette piste.
0
Petite précision :
"le but est bien de garder le garder le JS actif."... En fait, le formulaire est utilisé dans un Back Office. Donc les utilisateurs sont limités, identifiés et formés à l'utilisation du BO et donc informés de l'utilité que le JS soit activé...
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
6 sept. 2010 à 17:47
Je ne t'ai pas dit de tester en désactivant le JS.

Si l'utilisateur désire "foutre le brun", il pourra désactiver JS pour la vérification et mettre n'importe quoi : il faut toujours faire les vérifications côté serveur. Celles côtés client permettent d'éviter d'envoyer inutilement le formulaire s'il y a des erreurs.
0