【问题标题】:Checkbox with PHP form带有 PHP 表单的复选框
【发布时间】:2016-04-20 19:32:35
【问题描述】:

我正在我的网站上制作一个表格,该表格将显示不同的类别,检查或不检查类别是否包含产品。一种产品可以有多个类别。

<form method='post' action='action.php'> 
            <?php foreach ($ls_categories as $c): ?> 
                <input 
                    type='checkbox' 
                    name='checkboxvar[]' 
                    value='<?= $c->id ?>'  
                    <?= (contains($c, $categories)) ? 'checked' : "" ?>> 

                    <?= $c->title ?><br>
                <?php endforeach; ?> 
            <input type='submit'> 
        </form>

当我查看源代码时,我得到了这个:

<input
       type='checkbox' 
       name='checkboxvar[]' 
       value='1' 
       checked> 

       Title1<br>
<input 
       type='checkbox' 
       name='checkboxvar[]' 
       value='2' 
       > 

       Title2<br>

但在屏幕上我看到了这个:

 checked> Cat1
 > Cat2
 > Cat3
 checked> Cat4
 > Cat5

(左边的盒子都是空的)

我的 foreach 循环中可能有问题,但我没有看到。

显示类别是第一部分。之后,我想使用提交表单时要检查的内容来编辑产品的类别。知道该怎么做吗?

英语不是我的第一语言,所以也许您需要更精确一些。有不明白的可以追问。谢谢!

编辑:

也试过"checked='checked'

如果您查看该屏幕截图,您会看到检查后的&gt; 没有关闭input 标记(颜色不同),因此这里可能存在语法问题。你怎么看?

screenshot

【问题讨论】:

  • 试试checked="checked" 而不是仅仅检查
  • 检查编辑,也试过了。看截图,我认为这就是它不起作用的原因。你怎么看?
  • 尝试以 /> 结束输入
  • 你能粘贴完整的输出吗
  • 源代码对我来说似乎没问题,但网页上什么都没有,只是带有名称的空复选框,仅此而已。这是一个 标签的代码源输出: Truc

标签: php html forms checkbox


【解决方案1】:

您不能在标签内使用 html cmets。所以删除它以获得正确的输出。

【讨论】:

  • 是的,关于那个。我真的不明白为什么,但是当我删除它时,它甚至没有以纯文本显示“已检查>”。除了在源代码中,我仍然拥有checked = 'checked'checked,这取决于我使用的是哪一个。你看过截图吗?也许这是我的问题,或者这并不重要?
  • 真的吗?复选框被选中?
  • 该死,只是用了和你一样的代码,但是:pastebin.com/cJuTH4wq, imgur.com/rApqAIW
  • 似乎函数contains($c, $categories)对所有类别都返回false。这就是不选中复选框的原因。
  • 这很奇怪,因为我在页面上显示了“>”,以获取正确的类别。我 var_dumped 我的 $categories 并返回一个包含匹配类别的数组。这是我的包含函数:pastebin.com/RBHVPece
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-12
相关资源
最近更新 更多