【问题标题】:php checkbox array submit issuephp复选框数组提交问题
【发布时间】:2014-04-12 04:21:43
【问题描述】:

我的复选框数组有问题

这是我的代码

<?php

include('config.php');

 if(isset($_POST['submit']))
 {
    for($x = 0;$x <= 5;$x++)
    {
        if(isset($_POST['check'][$x]))
        {
            echo "THERE IS A VALUE<br>";
        }
        else{
            echo "EMPTY<br>";
        }
    }
}


?>

<html>
<head>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $("#add-file-field").click(function(){
            $("#text").append("<div class='added-field'><input      type='checkbox' name='check[]' />Never Expired</div>");

        });
    });
</script>
</head>
<body>
<form enctype="multipart/form-data" action="" method="POST">
    <div id="text">
        <input type="checkbox" name="check[]"  />Never Expired<br>
    </div>
    <input type="button" id="add-file-field" name="add" value="Add input field" />
    <input type="submit" value="Upload File" name="submit" id="submit" />
</form>
</body>
</html>

在这里我做例子我创建了 5 个复选框

Checkbox1 Checkbox2 Checkbox3 Checkbox4 Checkbox5

当我选中 Checkbox3 时

输出结果是

THERE IS A VALUE EMPTY EMPTY EMPTY EMPTY

我想要的结果是这样的

EMPTY EMPTY THERE IS A VALUE EMPTY EMPTY

如何做到这一点?请帮帮我

【问题讨论】:

  • 使用我的代码。这很有帮助。谢谢

标签: php jquery arrays checkbox


【解决方案1】:

你需要将键添加到数组中

<input type="checkbox" name="check[0]"  />

var num = 1;
$("#add-file-field").click(function(){
    $("#text").append("<div class='added-field'><input type='checkbox' name='check["+num+"]' />Never Expired</div>");
    num++;
});

【讨论】:

    【解决方案2】:

    未选中的复选框不会由浏览器发送到服务器,因此不在$_POST['check'] 数组中。这就是为什么THERE IS A VALUE 总是第一位的原因。

    【讨论】:

      【解决方案3】:

      您可以在以后查看此指南...

      http://www.html-form-guide.com/php-form/php-form-checkbox.html

      您的问题是,您只需检查是否已设置。你必须检查他们的价值..

      像这样修复你的 html 表单

          <input type="checkbox" name="check" value="1"> checkbox1</input>
         "----do the same---------------------------"2""---------2------->"//do this until you get your five checkbox
      

      然后在php上

        <?php
      
          include('config.php');
      
          if(isset($_POST['submit']))
          {
            for($x = 0;$x <= 5;$x++)
             {
               if($_POST['check']==strval($x))
                {
                  echo "THERE IS A VALUE<br>";
                }
               else{
                  echo "EMPTY<br>";
                }
             }
          }
       ?>
      

      希望有效果

      PS。如果有人看到错误,请编辑它。

      【讨论】:

        【解决方案4】:

        希望这是工作 添加

        <input type="checkbox" name="check[0]"  />
        

        那么 编辑这个

        var x = 1;
        $("#add-file-field").click(function(){
        $("#text").append("<div class='added-field'><input type='checkbox' name='check["+x+"]'     />Never Expired</div>");
        x++;
        });
        

        然后是简单的php代码

         if(isset($_POST['submit']))
        {
           // $x = cout($_POST['check']);
            for($x = 0;$x <= 5;$x++)
            {
                if(strlen($_POST['check'][$x])>1)
                {
                    echo "THERE IS A VALUE<br>";
                }
                else{
                    echo "EMPTY<br>";
                }
            }
        }
        

        谢谢

        【讨论】:

          猜你喜欢
          • 2017-01-05
          • 1970-01-01
          • 2013-09-19
          • 1970-01-01
          • 2011-03-15
          • 2013-06-07
          • 2011-08-26
          • 2013-06-06
          • 1970-01-01
          相关资源
          最近更新 更多