首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我使用php提交表单时,如何阻止滴答框输入清空?

当我使用php提交表单时,如何阻止滴答框输入清空?
EN

Stack Overflow用户
提问于 2014-05-14 21:01:32
回答 2查看 27关注 0票数 0

下面的代码用于一系列复选框。

当用户提交表单时,如何更改代码以防止复选框清空。

代码语言:javascript
复制
    <?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>
<?
}
?>

我试过了-但没成功。我打错电话了吗?

代码语言:javascript
复制
    <?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>
<?
}
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-14 21:16:12

您需要检查$_POST‘service’是否可以通过isset() (基本上表单已经提交)可用,并检查该服务是否在使用in_array()的数组中。这对我起了作用:

代码语言:javascript
复制
<?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>
<?
}
?>
票数 1
EN

Stack Overflow用户

发布于 2014-05-14 21:11:37

如果表单提交在同一个页面中,则可以获得值(如果选中的话),并使用一个input语句将其添加到if中。

否则,如果希望选中一些thouse复选框,而另一些则不选中,则可以在其中放置一个数组,例如:

代码语言:javascript
复制
$services = array(array("Name service 1", "checked"), array("Name service 2", "")); //leaving empty thouse you don't want checked.

希望我帮了你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23665047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档