Php 选中或不选中多值复选框
大家好,我有一个带有5个复选框的表单,一旦我运行了帖子,我希望所有复选框都是当前状态 例如: 复选框1:打开 复选框2:关闭 checbox 3:on 复选框4:关闭 复选框5:关闭 这是我的代码,但它不适用于非on状态Php 选中或不选中多值复选框,php,post,checkbox,Php,Post,Checkbox,大家好,我有一个带有5个复选框的表单,一旦我运行了帖子,我希望所有复选框都是当前状态 例如: 复选框1:打开 复选框2:关闭 checbox 3:on 复选框4:关闭 复选框5:关闭 这是我的代码,但它不适用于非on状态 <?php if(isset($_POST['submit'])){ $array = $_POST["check_list"]; } ?> <form action="" method="
<?php
if(isset($_POST['submit'])){
$array = $_POST["check_list"];
}
?>
<form action="" method="post">
<input type="checkbox" name="check_list[]"><label>Mon</label>
<input type="checkbox" name="check_list[]"><label>Tue</label>
<input type="checkbox" name="check_list[]"><label>Wed</label>
<input type="checkbox" name="check_list[]"><label>Thu</label>
<input type="checkbox" name="check_list[]"><label>Fri</label>
<input type="submit" name="submit" Value="Submit"/>
</form>
周一
星期二
结婚
清华大学
星期五
我如何才能得到所有的复选框与状态发送的邮件?
谢谢value关键字可用于指定值: 硬编码值
$days=[‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’];
如果(isset($_POST['submit'])){
$array=$\u POST[“检查列表”];
foreach($天作为$天){
$isChecked=in_数组($day,$array);
echo$day.“是”。($isChecked?'checked':'notchecked')。
;
}
}
?>
动态值
如果动态添加字段,则可以使用隐藏的输入。下面的代码段为每个可用选项添加了一个隐藏输入。然后可以使用这些隐藏的输入来确定是否存在关联的复选框,从而获取值
签出以下示例:
<?php
if(isset($_POST['submit'])){
$options = $_POST["check_list_options"];
$checkedValues = $_POST["check_list_values"];
foreach ($options as $optionId){
$isChecked = array_key_exists($optionId, $checkedValues);
if($isChecked){
echo 'option ' . $optionId . ' is checked and has value: '.$checkedValues[$optionId].'<br />';
}else{
echo 'option ' . $optionId . ' is not checked<br />';
}
}
}
?>
<form action="" id="checklist_form" method="post">
<div class="results">
</div>
<button type="button" id="add_days">
Add days
</button>
<input type="submit" name="submit" Value="Submit"/>
</form>
<script>
var addDays = document.querySelector('#add_days');
var form = document.querySelector('#checklist_form');
var results = document.querySelector('.results');
addDays.addEventListener('click', function(){
var inputId = document.querySelectorAll('.input').length;
results.innerHTML += '<input type="hidden" name="check_list_options[]" value="'+inputId+'" />' +
'<input type="checkbox" name="check_list_values['+inputId+']" value="mon'+inputId+'" class="input" />' +
'<label>Day '+inputId+'</label>' +
'<br />';
})
</script>
增加天数
var addDays=document.querySelector('add#u days');
var form=document.querySelector(“#检查表_form”);
var results=document.querySelector('.results');
addDays.addEventListener('click',function(){
var inputId=document.querySelectorAll('.input').length;
results.innerHTML+=“”+
'' +
“日”+inputId+“”+
“
”;
})
您可以为每个复选框指定一个名称,或在复选框名称中添加一个键,然后创建一个包含每个复选框名称的数组,如果设置了等效复选框,则在循环中进行检查:
$checkboxes = ['checkbox 1', 'checkbox 2', 'checkbox 3', 'checkbox 4', 'checkbox 5'];
if(isset($_POST['submit'])){
foreach($checkboxes as $key=>$value) {
echo $value.': ';
if(isset($_POST["check_list"][$key])) echo 'on '; else echo 'off ';
}
}
?>
<form action="" method="post">
<input type="checkbox" name="check_list[0]"><label>Mon</label>
<input type="checkbox" name="check_list[1]"><label>Tue</label>
<input type="checkbox" name="check_list[2]"><label>Wed</label>
<input type="checkbox" name="check_list[3]"><label>Thu</label>
<input type="checkbox" name="check_list[4]"><label>Fri</label>
<input type="submit" name="submit" Value="Submit"/>
</form>
$checkboxes=[“复选框1”、“复选框2”、“复选框3”、“复选框4”、“复选框5]”;
如果(isset($_POST['submit'])){
foreach($key=>$value的复选框){
echo$value.':';
如果(isset($_POST[“检查列表”][$key])回显“开”,否则回显“关”;
}
}
?>
周一
星期二
结婚
清华大学
星期五
问题在于,我用一个按钮添加了另一个由这5个复选框组成的列表,并为动态表单元素添加了一个示例@马尔基乌
$checkboxes = ['checkbox 1', 'checkbox 2', 'checkbox 3', 'checkbox 4', 'checkbox 5'];
if(isset($_POST['submit'])){
foreach($checkboxes as $key=>$value) {
echo $value.': ';
if(isset($_POST["check_list"][$key])) echo 'on '; else echo 'off ';
}
}
?>
<form action="" method="post">
<input type="checkbox" name="check_list[0]"><label>Mon</label>
<input type="checkbox" name="check_list[1]"><label>Tue</label>
<input type="checkbox" name="check_list[2]"><label>Wed</label>
<input type="checkbox" name="check_list[3]"><label>Thu</label>
<input type="checkbox" name="check_list[4]"><label>Fri</label>
<input type="submit" name="submit" Value="Submit"/>
</form>