2010-11-12 34 views
81

Decidí usar el script JQuery UI Datepicker para elegir las fechas. A continuación se muestra parte de mi código, y la forma en que lo integró en mi página PHP:Cómo deshabilitar la entrada manual para el campo JQuery UI Datepicker?

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

Y:

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

Más o menos de acuerdo con las instrucciones de jQuery UI.

Ahora mi pregunta es: ¿cómo puedo deshabilitar las entradas manuales en el campo de entrada de texto? Solo quiero que el script JQuery Datepicker pueda llenar el campo de texto. Hasta donde puedo ver, el script actualmente impide que el usuario ingrese caracteres no numéricos en el campo de texto, pero se permite cualquier combinación de números (por lo tanto, se permite un galimatías como "95460829468").

Respuesta

208

Cuando realice la entrada, configúrela para que sea de solo lectura.

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

solución sorprendentemente sencilla. Parece estar funcionando como se esperaba, muchas gracias! – BeeDog

+2

Si agrega 'background-color: #fff! Important; cursor: texto! importante; ' se verá totalmente normal ... –

+6

Utilizaría un puntero del cursor para que se vea que se puede hacer clic ' ' –

23

creo que se debe añadir style = "background: white;" para hacer que parece que se puede escribir

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

1. copia de respuesta 2. agrega un nuevo atributo (creo que debes agregar style = "background: white;" para que parezca escribible y "cursor: puntero" para que parezca que se puede hacer clic) 3. ????? ?? 4. Beneficio – skmasq

Cuestiones relacionadas