Cakephp 隐藏文本输入而不使其为`type=";“隐藏的”` 我所拥有的
我正在使用Cakephp 隐藏文本输入而不使其为`type=";“隐藏的”` 我所拥有的,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我正在使用FormController。为了内部目的,Javascript会频繁更新特定的输入,我希望它隐藏起来。在这种情况下,我不能使用type=“hidden”,而是需要使用type=“text”,以便提交时不会被用户检查 我试过的 如果需要隐藏整个表单,则将'hidden'=>true添加到$this->Form->create()。但是,这个确切的属性似乎不适用于单个输入,它是使用$this->Form->input()和$this->Form->control()创建的 对于特定的输
FormController
。为了内部目的,Javascript会频繁更新特定的输入,我希望它隐藏起来。在这种情况下,我不能使用type=“hidden”
,而是需要使用type=“text”
,以便提交时不会被用户检查
我试过的
- 如果需要隐藏整个表单,则将
添加到'hidden'=>true
$this->Form->create()。但是,这个确切的属性似乎不适用于单个输入,它是使用
$this->Form->input()和
$this->Form->control()创建的
- 对于特定的输入,首先想到的是在其选项中添加
,但这似乎不是一个干净的解决方案'style'=>'display:none'
- 我想我看到有人在这里提到了一种方法。我认为这是你应该添加到选项中的属性。我用这个网站和谷歌搜索了我的答案和评论,但什么也没找到
请告知 您可以创建一个隐藏输入,并在需要时使其免于表单安全性,方法是通过
unlockField()
方法解锁字段:
$this->Form->unlockField('field_name');
echo $this->Form->hidden('field_name');
或者通过为安全
选项传递假
或跳过
:
echo $this->Form->hidden('field_name', ['secure' => false]);
另见
unlockField()
方法解锁字段:
$this->Form->unlockField('field_name');
echo $this->Form->hidden('field_name');
或者通过为安全
选项传递假
或跳过
:
echo $this->Form->hidden('field_name', ['secure' => false]);
另见
unlockField
或'secure'=>false
是否只忽略该值或整个输入(即,post数据中可能缺少该值)?@aexl它将完全忽略该值,即它既不会检查字段是否存在,也不会检查其内容。我不确定,但我想这就是我最初没有选择该路线的原因。那么,有没有一种简单的方法可以让输入保持隐藏,但作为文本输入而不使用CSSdisplay:none
tricky?我想答案是否定的,但只是确认一下。Thanks@aexl也许我误解了你的问题,我想说的是,它将被安全组件忽略,当然,如果它与表单一起提交,它不会从POST数据中丢失。谢谢你的提示!unlockField
或'secure'=>false
是否只忽略该值或整个输入(即,post数据中可能缺少该值)?@aexl它将完全忽略该值,即它既不会检查字段是否存在,也不会检查其内容。我不确定,但我想这就是我最初没有选择该路线的原因。那么,有没有一种简单的方法可以让输入保持隐藏,但作为文本输入而不使用CSSdisplay:none
tricky?我想答案是否定的,但只是确认一下。Thanks@aexl也许我误解了你的问题,我想说的是,它将被安全组件忽略,当然,如果它与表单一起提交,它不会从POST数据中丢失。