【问题标题】:Confusion in checkbox in PHP dynamic valuesPHP动态值中的复选框混淆
【发布时间】:2012-04-26 16:12:24
【问题描述】:

我有一个表单输入

<form name="frmAdd" method="POST" action="/index.php?a=save">
Status : <input type="checkbox" id="status" name="chkActive" value="" ><label for="status">Active</label>
</form>

但是当我通过 $_POST['chkActive'] 调用它的值时,它在该页面上给出了相同的值。我是否检查了该值。

请告诉我如何知道这个复选框是否被选中(在 PHP 中)。

【问题讨论】:

  • 我认为你需要像这样为复选框赋予价值:
  • isset($_POST['chkActive'])?如果是检查则为真,否则为假。
  • @dqlopez 但您需要将value="x" 属性添加到input
  • 没错,忘了包括它。我直接回答了他关于我怎么知道这个复选框是否被选中的问题。

标签: php checkbox


【解决方案1】:

如果您只使用一个复选框,您可以这样做:

<input type="checkbox" id="status" name="chkActive" value="1" >

在 PHP 中

if (isset($_POST['chkActive'])) {
   //its checked
}

但您需要确保在 HTML 中设置了值

【讨论】:

    【解决方案2】:
    <form name="frmAdd" method="POST" action="/index.php?a=save">
      Status : <input type="checkbox" id="status" name="chkActive" value="1" ><label      for="status">Active</label>
    </form>
    
    <?php if($_POST['chkActive']=='1'){
      echo "is Active";
    }else{
      echo "not Active";
    }
    

    复选框只有在被选中时才传递值。

    【讨论】:

    • 你想检查$_POST['chkActive']是否真的设置了,否则你会得到一个E_NOTICE
    【解决方案3】:

    阐明它是如何工作的。

    <input type="checkbox" id="status" name="chkActive"
    

    如果未选中复选框(用户选中),则不会向服务器发送任何内容。 “chkActive”将不存在。所以我们使用isset()来检查它。

    【讨论】:

      猜你喜欢
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多