Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP-忽略具有Name属性的表单输入字段_Php_Html_Cakephp_Cakephp 3.0 - Fatal编程技术网

CakePHP-忽略具有Name属性的表单输入字段

CakePHP-忽略具有Name属性的表单输入字段,php,html,cakephp,cakephp-3.0,Php,Html,Cakephp,Cakephp 3.0,我有一个带有单选按钮的CakePHP表单,通过打开和关闭表单部分来增强前端。要使单选按钮正常工作,我需要一个name属性将它们绑定在一起 但是,我的问题是CakePHP发布任何带有name属性的输入字段,因此上面的单选按钮在提交表单时会导致错误,因为我的模型中没有toggle-0字段 有没有办法防止CakePHP发布单选按钮值?我可以在前端或后端实现这一点吗 这似乎是一件非常简单的事情(就像在C#MVC中),但我似乎找不到关于蛋糕食谱的任何信息 相关单选按钮: <input id="tog

我有一个带有单选按钮的CakePHP表单,通过打开和关闭表单部分来增强前端。要使单选按钮正常工作,我需要一个name属性将它们绑定在一起

但是,我的问题是CakePHP发布任何带有name属性的输入字段,因此上面的单选按钮在提交表单时会导致错误,因为我的模型中没有
toggle-0
字段

有没有办法防止CakePHP发布单选按钮值?我可以在前端或后端实现这一点吗

这似乎是一件非常简单的事情(就像在C#MVC中),但我似乎找不到关于蛋糕食谱的任何信息

相关单选按钮:

<input id="toggle-on-0" class="selection-toggle selection-toggle-left" name="toggle-0" value="false" type="radio">
<label for="toggle-on-0" class="selection-btn">On</label>
<input id="toggle-off-0" class="selection-toggle selection-toggle-right" name="toggle-0" value="true" type="radio">
<label for="toggle-off-0" class="selection-btn">Off</label>

在…上
关

请告诉我是否可以澄清问题,或者您是否需要我的
add()
方法的代码

这不是一个棘手的问题。通过同时使用value和name属性,您已经制作了收音机。正如HTML规范中提到的,无线电输入现在将成为表单数据的一部分,并将发送到表单提交操作

解决方案:

1:服务器端的唯一解决方案是从请求对象(如果存在)中删除无线电输入数据

2:删除name属性并更改前端逻辑


3:仅发送包含所需POST数据的AJAX请求。

感谢您的回复。第一个似乎是最好的解决方案,尽管我认为验证器上的POST错误是第一个。我会实现并接受你的答案,当我让它工作时。我已经设法使用
$this->Form->unlockField('toggle-0')以防止验证错误。然后,我将这些字段完全从控制器中的
$\u POST
中删除,因此(1)工作正常。