【问题标题】:How to access two different values for one checkbox?如何为一个复选框访问两个不同的值?
【发布时间】:2014-08-22 07:27:47
【问题描述】:

我正在为我的网站使用 HTML、PHP、jQuery。 我的表单上有一个复选框,如下所示:

<input type="checkbox" name="check_status" id="check_status" value="1"> Status

我想要两个不同值的同一个复选框。简而言之,在提交表单后,如果选中复选框,我应该在$_POST['check_status']数组中获得值1,如果在提交表单时未选中复选框,我应该在$_POST['check_status']数组中获得值0表单提交后。

现在根据上面的 HTML 代码,如果复选框被选中,我将得到值 1,如果复选框未选中,那么我将得到空白值。

我应该如何解决这个问题才能达到预期的效果?

【问题讨论】:

  • 为什么不能认为复选框未选中,因为它等于0

标签: php html forms checkbox form-submit


【解决方案1】:

您可以在 php.ini 中添加条件。希望这会有所帮助。

if(isset($_POST['check_status'])) {
    $status = $_POST['check_status'];
} else {
    $status = 0;
}

echo $status;

【讨论】:

  • 既然可以减少到只有 1 行,为什么还要写 4 行代码? $status = isset($_POST['check_status']) ? $_POST['check_status'] : 0;
【解决方案2】:

你可以用这个

$status = 0;
if(isset($_POST['check_status'])) {
    $status = 1;
}

echo $status;

【讨论】:

    【解决方案3】:

    如果您确实需要将这些值作为10 发送到服务器(也许您无法更改服务器端代码),您可以添加一个与您的名称相同的隐藏字段复选框,然后在提交表单之前使用JavaScript/jQuery 填充该隐藏字段,使用 1 或 0 分别表示复选框被选中或未选中。 .

    $("#hiddenField").val( $('#checkbox').is(':checked') ? 1 : 0 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多