如何在通过GET-cakephp发送时格式化复选框的名称
我想知道,当我试图通过GET方法将复选框发送到我的其他页面时,是否可以格式化复选框的名称 实际上,我有多个复选框,它们生成如下内容:如何在通过GET-cakephp发送时格式化复选框的名称,cakephp,checkbox,get,Cakephp,Checkbox,Get,我想知道,当我试图通过GET方法将复选框发送到我的其他页面时,是否可以格式化复选框的名称 实际上,我有多个复选框,它们生成如下内容: <div class="checkbox"><input type="checkbox" name="test[]" value="1" id="ResearchTest1" /><label for="ResearchTest1">First Test</label></div> <div cla
<div class="checkbox"><input type="checkbox" name="test[]" value="1" id="ResearchTest1" /><label for="ResearchTest1">First Test</label></div>
<div class="checkbox"><input type="checkbox" name="test[]" value="2" id="ResearchTest2" /><label for="ResearchTest2">Second Test</label></div>
<div class="checkbox"><input type="checkbox" name="test[]" value="3" id="ResearchTest3" /><label for="ResearchTest3">Third Test</label></div>
即:
research=&test=&test[]=1&test[]=2&test[]=3
我想要的是:
research=&test1=1&test2=2&test3=3
或
或者更好:
research=&test=1,2,3
有什么想法吗?您可以使用FormHelper定义输入的名称:
echo $this->Form->checkbox('yourInputId', array('name' => 'yourInputName'));
这就是复选框的工作原理,如果您想要
test1=1&test2=2&test3=3
,那么您应该分别命名每个复选框
echo $this->Form->checkbox('foo', array('name' => 'test1'));
echo $this->Form->checkbox('foo', array('name' => 'test2'));
echo $this->Form->checkbox('foo', array('name' => 'test3'));
这将使您的处理更加困难
您可以使用JSjoin()
进行research=&test=1,2,3
。我不知道你为什么要让这件事对你自己造成困难。使用内爆(“,”,$theData)获取时,您可以在控制器中轻松获取相同的格式。
我建议您使用
标准
提交表单并在以后处理数据。问题在于我使用了多个复选框:
$this->Form->input('tests', array('type' => 'select', 'multiple' => 'checkbox', 'options' => $options));
所以我不能单独重命名每个复选框
echo $this->Form->checkbox('foo', array('name' => 'test1'));
echo $this->Form->checkbox('foo', array('name' => 'test2'));
echo $this->Form->checkbox('foo', array('name' => 'test3'));
也许我不应该为此使用cakephp,但尝试直接用html编写我自己的复选框?是否使用FormHelper生成这些输入?向我们展示您的CakePHP代码。是的,我正在使用:$this->Form->input('tests',array('type'=>'select','multiple'=>'checkbox','options'=>$options));
$this->Form->input('tests', array('type' => 'select', 'multiple' => 'checkbox', 'options' => $options));