我在CakePHP
有一个日期时间控件,我试图使它只读(readonly
属性与textfields一起使用)。
所以这就是我尝试过的:
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