我在 CakePHP
中有一个日期时间控件,我试图将其设为只读(readonly
属性适用于文本字段)。
所以这是我尝试过的:
CakePHP 方式:
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]);
但它们都不起作用。我如何才能实现我想要的。
最佳答案
您正在查找已禁用 属性:https://www.w3schools.com/TAGS/att_input_disabled.asp 请注意,如果输入被禁用,则不会提交(见下文)。
CakePHP:
echo $this->Form->control('date_start', ['empty' => true, 'disabled' => 'true']);
Jquery,获取或设置值(抱歉,我从未尝试过使用 vanilla Javascript):
$( elem ).prop( "disabled" )
$( elem ).prop( "disabled", true )
如果输入被禁用,则不会提交。 也许这不是您所期望的。 有关(许多)可能的解决方法,请参阅此问题: HTML form readonly SELECT tag/input
关于javascript - Cakephp 3.6.14 : Make datetime field readonly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54761422/