107 votes

Comment désactiver la saisie manuelle pour le champ Datepicker de JQuery UI ?

J'ai décidé d'utiliser le JQuery UI Datepicker script pour choisir les dates. Vous trouverez ci-dessous une partie de mon code, ainsi que la manière dont je l'ai intégré dans ma page PHP :

<link type="text/css" href="css/south-street/jquery-ui-1.8.6.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js"></script>
<script type="text/javascript">
$(function(){
    // Datepicker
    $('#datepicker').datepicker({ dateFormat: 'yy-mm-dd' });
    //hover states on the static widgets
    $('#dialog_link, ul#icons li').hover(
        function() { $(this).addClass('ui-state-hover'); }, 
        function() { $(this).removeClass('ui-state-hover'); }
    );
});
</script>

Et :

    // date picker (embeds JQuery script)
echo '<label for="datepicker">Date: </label>';
echo '<input type="text" name="datepicker" id="datepicker" />';
echo '<div id="datepicker"></div>';

En gros, selon les instructions de JQuery UI.

Maintenant ma question est : comment puis-je désactiver les entrées manuelles dans le champ de saisie de texte ? ? Je veux seulement que le script du Datepicker JQuery puisse remplir le champ de texte. D'après ce que je vois, le script empêche actuellement l'utilisateur de saisir tout caractère non numérique dans le champ de texte, mais toute combinaison de chiffres est autorisée (donc, un charabia comme "95460829468" est autorisé).

266voto

Matthew Jacobs Points 1491

Lorsque vous effectuez l'entrée, définissez-la comme étant en lecture seule.

<input type="text" name="datepicker" id="datepicker" readonly="readonly" />

29voto

Karim Samir Points 115

Je pense que vous devriez ajouter style="background:white ;" pour faire croire qu'il est accessible en écriture

<input type="text" size="23" name="dateMonthly" id="dateMonthly" readonly="readonly"   style="background:white;"/>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X