【问题标题】:How to change default checkbox values in a form when there are multiple checkboxes当有多个复选框时如何更改表单中的默认复选框值
【发布时间】:2016-04-20 23:13:41
【问题描述】:

我有一个带有 4 个复选框的表单。选中这些框后,从表单生成的电子邮件会为每个选中的复选框显示默认的“打开”。

我想将其更改为“是”。问题是,虽然我可以使用下面的代码将默认设置更改为“是”,但“是”现在出现在电子邮件中的每个选项旁边,无论表单上的复选框是否被选中。我是 PHP 新手,到目前为止,我搜索的答案都没有解决我遇到的问题。任何有关如何修复的建议将不胜感激。谢谢!

HTML

<input type="checkbox" name="red" id="red" value="yes">
  <label for="red">Red</label></p><p>
  <input type="checkbox" name="blue" id="blue" value="yes">
  <label for="blue">Blue</label></p><p>
  <input type="checkbox" name="green" id="green" value="yes">
  <label for="green">Green</label></p><p>
  <input type="checkbox" name="yellow" id="yellow" value="yes">
  <label for="yellow">Yellow</label>

PHP

    $red = $_POST['red'];
if ($red != 'Yes') {
    $red = 'Yes';
}

$blue = $_POST['blue'];
if ($blue != 'Yes') {
    $blue = 'Yes';
}
$green = $_POST['green'];
if ($green != 'Yes') {
    $green = 'Yes';
}

$yellow = $_POST['yellow'];
if ($yellow != 'Yes') {
    $yellow = 'Yes';
}

谢谢!

【问题讨论】:

  • 您的逻辑有误。您的代码显示“如果该值不等于'Yes',则将其设置为'Yes'”。这意味着如果值为“关闭”,则将其转换为“是”,因为“关闭”不等于“是”

标签: php html forms email checkbox


【解决方案1】:

Oc all 将显示为yes,你正在做什么是por 检查它是否不是yes 然后设置为yes。您的最终结果将所有框设置为是。试试这个:

$red = $_POST['red'];
if ($red != 'Yes') {
    $red == 'No';
}

【讨论】:

    【解决方案2】:

    如果您选中该复选框,则只能通过$_POST 使用它

    $red = $_POST['red'];
    if ($red != 'Yes') {
        $red = 'Yes';
    }
    

    无论您是否选中复选框,都会将其 $red 设置为 Yes,因为 $red = $_POST['red']; 将返回 null $_POST['red']; 会给你输入的 value 属性:checkbox &lt;input type="checkbox" name="red" id="red" value="yes"&gt; 在这种情况下它会输出yes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多