gpt4 book ai didi

CakePHP 表单助手 - 更改复选框/单选框的隐藏输入值

转载 作者:行者123 更新时间:2023-12-04 22:09:00 24 4
gpt4 key购买 nike

使用 CakePHP 的表单助手生成复选框非常简单;使用文档中的示例:

    echo $this->Form->checkbox('done',array('value' => 555));

这将产生以下 HTML:

<input type="hidden" name="data[User][done]" value="0" id="UserDone_" />
<input type="checkbox" name="data[User][done]" value="555" id="UserDone" />

这一切都很好,隐藏字段用于强制提交“完成”字段的值,即使该框保持未选中也是如此。

现在,为了论证,假设这个字段的数据库定义是ENUM('yes','no')。当然,我可以轻松地将复选框的值更改为"is"。但是,如果未选中,则会从隐藏元素提交值“0”。这不会产生来自 mysql 的错误或警告,因为 0 始终是枚举字段的合法值;它显示为空字符串。

我可以更改 CakePHP 生成的隐藏字段的值(改为“否”),还是我需要抑制自动生成并自己创建隐藏字段? (随着复选框数量的增加而增加的烦恼。)

我相信这也适用于单选按钮组 — 至少在它们没有默认选择的情况下。

我正在使用 CakePHP 1.3。谢谢。

最佳答案

通过 FormHelper::checkbox,您可以使用 hiddenField 设置默认值。

<?php echo $this->Form->checkbox('done', array('value'=>'yes', 'hiddenField'=>'no');?>

使用 FormHelper::radio,如果值匹配,您只能将值设置为默认选项之一。这也将抑制隐藏字段。

<?php echo $this->Form->radio('done', array('yes' => __('Yes')), 'no' => __('No'), array('value'=>'no');?>

关于CakePHP 表单助手 - 更改复选框/单选框的隐藏输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com