我有一个带有单选按钮的CakePHP表单,通过打开和关闭表单部分来增强前端。为了使单选按钮工作,我需要一个将它们绑定在一起的name属性。
但是,我的问题是CakePHP POST任何带有name属性的输入字段,因此上面的单选按钮在提交表单时会导致错误,因为我的模型中没有toggle-0
字段。 / p>
有没有办法阻止CakePHP发布单选按钮值?我可以在前端或后端实现这一目标吗?
这似乎是一件非常简单的事情(就像在C#MVC中一样),但我似乎无法在Cake Cookbook上找到任何信息。
相关单选按钮:
<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()
方法的代码,请告诉我。
答案 0 :(得分:1)
这不是CakePHP问题。通过使用值和名称属性,您已制作了电台control successful。如HTML规范中所述,无线电输入现在将成为表单数据的一部分,并将在表单提交时发送给操作。
解决方案:
1:服务器端唯一的解决方案是从请求对象中删除无线电输入数据(如果存在)。
2:删除name属性并更改前端逻辑。
3:仅使用所需的POST数据发送AJAX请求。