我无法获取复选框字段的值。这是我的代码的结构
function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
$query->set('posts_per_page', 6);
}
}
}
add_action('pre_get_posts', 'search_filter');
在控制器中
<form action="<?php echo base_url()?>Home/dashboard" method="post">
<button class="btn btn-default" type="submit" name="delete" onclick="cliked1(event)"
style="margin-left:2px;background-color:blue;color:white;">Delete Item</button>
<td><input class="checkbox" type="checkbox"name="cb" value="1"> 1 </td>
</form>
我在其他文件中重新创建了它的过程并且它正常工作
else if(isset($_POST['delete'])) {
$cb = $this->input->post('cb');
echo $cb;
}
在控制器
中<form action ="<?php echo base_url()?>Shop/test" method="POST">
<button class='btn btn-danger btn-xs' type="submit" name="delete" value="delete"><span class="fa fa-times"></span> delete</button>
<input type="checkbox" name="cb[]" value="lol">
<br>
<input type="checkbox" name="cb[]" value="yeaa">
</form>
我应用这个过程就像这样
function test()
{
$this->load->view('test');
if(isset($_POST['delete']))
{
$id = implode('^',$this->input->post('cb'));
print_r($id);
}
}
问题是提交按钮不起作用。
答案 0 :(得分:1)
如果选中复选框,则在未选中复选框时,您将无法在$_POST
中设置复选框。因此,要获取复选框的值,您需要执行以下操作:
if (isset($_POST["cb"])) {
// Checkbox is checked.
$cb = $_POST["cb"];
} else {
// Checkbox is not checked.
}
请不要查看type="submit"
。
来自resources之一:
在大多数情况下,这会起作用,但在某些情况下它会胜出。为了确定何时这种情况失败,我们必须考虑提交表格的不同方式。
提交表单有两种方式,一种是单击提交按钮,另一种是点击返回,其中将调用提交按钮。当您按下返回按钮(大多数人这样做),使用Internet Explorer(最常用的浏览器)和提交按钮没有焦点时,会出现问题。这将提交表单,但不会发送
submit
变量,这意味着我们上面使用的脚本将失败。