下面的代码用于一系列复选框。
当用户提交表单时,如何更改代码以防止复选框清空。
<?php
$services = array(
'Tree Felling',
'Height Reduction',
'Crown Thinning',
'Deadwooding/Ivy Removal',
'Stump Grinding',
'Other'
);
foreach ($services as $option) {
?>
<label><input id="<?= $option ?>" type="checkbox" name="services[]" <?php
if ($_POST['services'] == $option) {
echo 'CHECKED';
}
?> value="<?= $option ?>" /><?= $option ?></label>
<?
}
?>我试过了-但没成功。我打错电话了吗?
<?php
$services = array(
'Tree Felling',
'Height Reduction',
'Crown Thinning',
'Deadwooding/Ivy Removal',
'Stump Grinding',
'Other'
);
foreach ($services as $option) {
?>
<label><input id="<?= $option ?>" type="checkbox" name="services[]" value="<?= $option ?>" /><?= $option ?></label>
<?
}
?>发布于 2014-05-14 21:16:12
您需要检查$_POST‘service’是否可以通过isset() (基本上表单已经提交)可用,并检查该服务是否在使用in_array()的数组中。这对我起了作用:
<?php
$services = array(
'Tree Felling',
'Height Reduction',
'Crown Thinning',
'Deadwooding/Ivy Removal',
'Stump Grinding',
'Other'
);
foreach ($services as $option) {
?>
<label><input id="<?= $option ?>" type="checkbox" name="services[]" <?php
if ( isset($_POST['services']) and in_array($option, $_POST['services']) ) {
echo 'CHECKED';
}
?> value="<?= $option ?>" /><?= $option ?></label>
<?
}
?>发布于 2014-05-14 21:11:37
如果表单提交在同一个页面中,则可以获得值(如果选中的话),并使用一个input语句将其添加到if中。
否则,如果希望选中一些thouse复选框,而另一些则不选中,则可以在其中放置一个数组,例如:
$services = array(array("Name service 1", "checked"), array("Name service 2", "")); //leaving empty thouse you don't want checked.希望我帮了你!
https://stackoverflow.com/questions/23665047
复制相似问题