Как отключить ручной ввод для поля jQuery UI Datepicker? [дубликат]
На этот вопрос уже есть ответ здесь:
Я решил использовать скрипт jQuery UI Datepicker для выбора дат. Ниже приведена часть моего кода и то, как я интегрировал его в свою страницу 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>
И:
// date picker (embeds JQuery script)
echo '<label for="datepicker">Date: </label>';
echo '<input type="text" name="datepicker" id="datepicker" />';
echo '<div id="datepicker"></div>';
В значительной степени в соответствии с инструкциями пользовательского интерфейса jQuery.
Теперь мой вопрос: как я могу отключить ввод вручную в поле ввода текста? Я только хочу, чтобы скрипт jQuery Datepicker мог заполнять текстовое поле. Насколько я могу видеть, в настоящее время скрипт запрещает пользователю вводить в текстовое поле любые нечисловые символы, но допускается любая комбинация цифр (поэтому допускается тарабарщина типа "95460829468").
2 answers
Когда вы вводите данные, установите их только для чтения.
<input type="text" name="datepicker" id="datepicker" readonly="readonly" />
Я думаю, вам следует добавить стиль= "фон: белый;" чтобы сделать вид, что он доступен для записи
<input type="text" size="23" name="dateMonthly" id="dateMonthly" readonly="readonly" style="background:white;"/>