【问题标题】:Input field doesn't get checked attribute输入字段没有得到检查属性
【发布时间】:2019-10-18 07:42:09
【问题描述】:

我有一个带有输入字段的表单。如果他们点击特定的daypart,我希望输入字段为checked。我尝试使用以下代码执行此操作,但是当我检查该字段时,该字段没有获得属性checked

<input type="checkbox" name="dayparts[]" value="<?php echo $daypart['id']?>" <?php if (!empty($_GET['dayparts'] == '1')){ echo 'checked';}?> >

这是我检查某些内容时的 url。

index.php?page=activities&dayparts%5B%5D=1

【问题讨论】:

  • 当我遇到类似问题时,通常 check 不是一个直接的布尔值。我发现它通常是一个包含 0 或 1 的数组。所以如果我错过了数组遍历,我将永远不会得到检查值的 0 或 1
  • @ChrisRichardson Dayparts 是一个数组,所以它不应该是 dayparts == 1 ?
  • $dayparts['id'] 可能 === 1 但 $dayparts 可能不会

标签: php html input checked


【解决方案1】:
<input type="checkbox" name="dayparts[]" value="<?php echo $daypart['id']?>" <?php if (!empty($_GET['dayparts'] == '1')){ echo 'checked';}?> >

我认为上面的代码有问题。问题是

<?php if (!empty($_GET['dayparts'] == '1')){ echo 'checked';}?>

这部分。请检查你$GET['dayparts']。但是在url中你传递dayparts%5B%5D。 这就是问题所在。因此,&lt;?php if (!empty($_GET['dayparts'] == '1')){ echo 'checked';}?&gt; 未检查。您会收到此错误。 网址将是

index.php?page=activities&dayparts=1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 2014-11-01
    • 2015-07-13
    • 2012-04-07
    相关资源
    最近更新 更多