Cakephp 3.6.14: сделать поле datetime доступным только для чтения - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть элемент управления датой и временем в CakePHP, и я пытаюсь сделать его доступным только для чтения (атрибут readonly отлично работает с текстовыми полями).

Вот что я попробовал:

CakePHP way :

echo $this->Form->control('date_start', ['empty' => true, 'readonly' => 'readonly']);

ИЛИ

echo $this->Form->control('date_start', ['empty' => true, 'readonly' => 'true']);

JavaScript :

$this->Html->scriptBlock("document.getElementById('#datestart').readonly = true;");

echo $this->Form->control('date_start', ['id' => 'datestart', 'empty' => true]);

Но ни один из них не работает.Как я могу достичь того, чего хочу.

1 Ответ

0 голосов
/ 19 февраля 2019

Вы ищете атрибут disabled : https://www.w3schools.com/TAGS/att_input_disabled.asp Осторожно, если вход отключен, он не передается (см. Ниже).

CakePHP:

echo $this->Form->control('date_start', ['empty' => true, 'disabled' => 'true']);

Jquery, чтобы получить или установить значение (извините, я никогда не пробовал с ванильным Javascript):

$( elem ).prop( "disabled" )

$( elem ).prop( "disabled", true )

Если вход отключен, он не передается.Может быть, это не совсем то, что вы ожидаете.См. Этот вопрос для (многих) возможных обходных путей: HTML-форма только для чтения. SELECT tag / input

...