【问题标题】:How to post checked and unchecked values如何发布选中和未选中的值
【发布时间】:2016-06-01 23:18:19
【问题描述】:

我有三个复选框。我想发布这三个。选中的是 1,未选中的是 0。表包含三列。我想插入 1 表示选中,0 fr 未选中。

 <label class='checkbox'><input type='checkbox' name='check_1' class='example1' value='1' checked/>India</label>
 <label class='checkbox'><input type='checkbox' name='check_2' class='example1' value='1' class='termcls'checked />China</label>
 <label class='checkbox'><input type='checkbox' name='check_3' class='example1' value='1' checked/>America</label>  

如何做到这一点..

【问题讨论】:

  • 到目前为止你尝试了什么?
  • @GolezTrol ,嗯,也许可以!,您可以将隐藏输入与 chekcbox 同名的值设为 0!
  • 然后希望贴出正确的...为什么要冒险,如果检查PHP如此简单?
  • 你必须保留两个边,你的权利,在PHP中检查很简单!

标签: php html codeigniter


【解决方案1】:
$check1Checked = (isset($_POST['check_1']))?1:0;
$check2Checked = (isset($_POST['check_2']))?1:0;
$check3Checked = (isset($_POST['check_3']))?1:0;

【讨论】:

    【解决方案2】:

    提交您的表单并以这种方式在逻辑部分检查它

    if(@$_POST['check_1']=='1')
    {
       echo "1st is checked";
    }
    else
    {
       echo "1st not checked";
    }
    

    【讨论】:

      【解决方案3】:

      复选框不是这样工作的。如果选中,他们会发布他们的值,如果没有选中,他们不会发布任何内容。因此,在服务器上,只需检查您是否获得了复选框名称的值并将您的逻辑基于此。这方式比尝试为这种标准行为实现客户端替代方案更容易、更安全。

      就像1,2,3一样简单:

      $check1Checked = isset($_POST['check_1']);
      $check2Checked = isset($_POST['check_2']);
      $check3Checked = isset($_POST['check_3']);
      

      或者,如果您想要 0 和 1,只需将此布尔结果转换为 int。

      $check1Checked = (int)isset($_POST['check_1']);
      $check2Checked = (int)isset($_POST['check_2']);
      $check3Checked = (int)isset($_POST['check_3']);
      

      请注意,无论哪种情况,已发布复选框的实际值都无关紧要。

      【讨论】:

        猜你喜欢
        • 2012-07-24
        • 2017-10-04
        • 2018-12-19
        • 1970-01-01
        • 1970-01-01
        • 2013-05-21
        • 2017-12-21
        • 1970-01-01
        • 2013-10-14
        相关资源
        最近更新 更多