web-dev-qa-db-fra.com

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

J'ai décidé d'utiliser le script Datepicker de l'interface utilisateur JQuery pour choisir les dates. Vous trouverez ci-dessous une partie de mon code et la façon dont je l’ai intégré à ma PHP page:

<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>';

Presque selon les instructions de l'interface utilisateur de JQuery.

Ma question est la suivante: comment puis-je désactiver les entrées manuelles dans le champ de saisie de texte? Je veux seulement que le script JQuery Datepicker puisse remplir le champ de texte. Autant que je sache, le script empêche actuellement l'utilisateur de saisir des caractères non numériques dans le champ de texte, mais toute combinaison de chiffres est autorisée (par conséquent, le charabia tel que "95460829468" est autorisé).

101
BeeDog

Lorsque vous effectuez la saisie, configurez-la pour qu'elle soit en lecture seule.

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

Je pense que vous devriez ajouter style = "background: white;" pour donner l’impression qu’il est accessible en écriture

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