【问题标题】:Selecting check boxes选择复选框
【发布时间】:2012-02-20 20:48:35
【问题描述】:

我不知道如何执行以下操作,希望得到一些帮助。 我有一个 php 文件,它打开并显示来自 .txt 文件的数组中的一些详细信息,并带有要选中的复选框。一旦用户选择了这些复选框并单击 go,我需要另一个 php 文件来识别选定的复选框并显示数据。

编辑:您忘记了详细信息,复选框将关联到数组中,因此当用户输入搜索词时,只会弹出相关信息以及复选框。这意味着所有复选框都具有相同的 id 并且是相同的。我该如何解决这个问题?

【问题讨论】:

  • 你能提供一些代码吗?特别是您遇到问题的代码。

标签: php checkbox


【解决方案1】:

复选框是:

<input type="checkbox" name="checkbox-name" value="1"/>

如果选中此复选框并提交此表单,则在目标页面上该复选框为:

$_POST['checkbox-name']=1;

如果未定义复选框,则未设置 POST 值,例如:

if(!isset($_POST['checkbox-name'])){ echo 'not selected'; }

编辑:

如果需要数组,那么同一个数组的所有复选框的名称应该是这样的:

<input type="checkbox" name="my-checkboxes[]" value="first"/>

那么这可以通过以下方式在 PHP 中循环:

foreach($_POST['my-checkboxes'] as $values){
    echo $values;
}

同样适用于可以作为数组发送的其他 HTML 表单元素。

【讨论】:

  • 我不断收到错误“为 foreach() 提供的参数无效”为了清楚起见,我的第二个 .php 文件中只有 foreach 循环?
【解决方案2】:

假设你的初始页面有这个:

<form action="results.php" method="POST">

<input type="checkbox" name="checkbox1" value="1" />
<input type="checkbox" name="checkbox2" value="2" />
<input type="checkbox" name="checkbox3" value="3" />
<input type="submit" value="Submit" />

</form>

你的results.php 应该是这样的:

<?php

echo isset($_POST['checkbox1']) ? "Box 1 is selected.<br />" : "Box 1 is not selected.<br />";
echo isset($_POST['checkbox2']) ? "Box 2 is selected.<br />" : "Box 2 is not selected.<br />";
echo isset($_POST['checkbox3']) ? "Box 3 is selected." : "Box 3 is not selected.";

?>

编辑:您也可以将它们粘贴到变量中,如下所示:

$cb1 = isset($_POST['checkbox1']) ? true : false;
$cb2 = isset($_POST['checkbox2']) ? true : false;
$cb3 = isset($_POST['checkbox3']) ? true : false;

然后做一些if 声明:

if (!$cb1 && $cb2 && $cb3) {
    echo "Option 1 is pretty much essential, or your gerbil 
    could escape within the first few hours of ownership.";
} else if ($cb1 && $cb2 && !$cb3) {
    echo "If you don't get him a water bottle, he may turn vicious.";
} else if (!$cb1 && !$cb2 && !$cb3) {
    echo "Right, that's it, we're calling the RSPCA!";
}

等等……

【讨论】:

    【解决方案3】:

    我想这些复选框以 HTML 的形式呈现。如果是这种情况,您可以使用 jQuery:

    $("input:checkbox[name=type]:checked").each(function()
    {
     // do your stuff here
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多