Поле формы календаря Joomla только для чтения

Я создал модуль joomla и добавил поле формы календаря.

<field name="date" type="calendar" default="2010-01-30" format="%Y-%m-%d" label="Enter date" description="" class="date_field" />

Все работает нормально, пока пользователь использует значок календаря для ввода даты, но если пользователь пишет любую другую информацию, чем после сохранения настроек модуля, все вылетает.

Моя идея состоит в том, чтобы сделать поле ввода только для чтения, но если я использую readonly="true", значок callendar исчезнет.


person Newcomer    schedule 05.04.2014    source источник
comment
Зачем вам нужна кнопка календаря, если она доступна только для чтения? Если вы хотите декоративное изображение календаря, добавьте его с помощью css.   -  person Elin    schedule 05.04.2014


Ответы (2)


Я думаю, вам нужно будет сделать некоторые mootools или jquery-magick (в зависимости от вашей версии joomla), чтобы отключить ручной ввод в текстовое поле. Используя jquery, вы можете сделать что-то вроде:

jQuery('.calendar-textfield-class').focusin(function (event){
event.preventDefault(); 
jQuery(this).next('button').focus().click(); 
});  

Это должно вызвать всплывающее окно выбора календаря, если пользователь попытается ввести дату вручную.

С уважением Джонас

person jonasfh    schedule 05.04.2014

person    schedule
comment
Хотя этот код может ответить на вопрос, предоставление информации о том, как и почему он решает проблему, повышает его ценность в долгосрочной перспективе. - person L_J; 16.08.2018
comment
Сначала joomla не отключает поле ввода календарей, поэтому, когда пользователи вводят текст в поле ввода календарей, он сохраняет некоторые неправильные значения. Чтобы предотвратить это, мы можем использовать событие keydown для элемента календаря и запретить пользователю что-либо вводить, возвращая false. - person JayDev; 28.08.2018