获取复选框和相应的文本字段值以在一行中显示

时间:2012-09-10 16:09:51

标签: php html css

我有一个表单根据我想要的号码动态生成复选框字段和文本字段字段。这里是表格和生成的字段

<?php
     $num = "6";
     $index = "0";
     echo "<form action='".$_SERVER['PHP_SELF']."' name='myform' method='post'>";
     echo "<table>";
     for($i= 0;$i<$num;$i++){
        echo "<tr><td><input type='hidden' name='indexnum[]' value='".$index."'><input type='checkbox' name='mychecks[]' value='check".$i."'><input type='text' name='checktext[]' size='20'></td><tr>";
$index++;
     }
    echo "<tr><td><input type='submit' name='submit' value='Submit'/></td></tr>";
    echo "</table>";
    echo "</form>";
   if(isset($_POST['submit'])){
    $num = count($_POST['indexnum']);
     for($i=0;$i<$num;$i++){
        $index = $_POST['indexnum'];
        $checkvalues = $_POST['mychecks'];
        $textValue = $_POST['checktext'];
        echo $index[$i].".)".$checkvalues[$i]." coressponse ".$textValue[$i]."<br>";

}
}
?>

问题是我无法正确获取文本字段的值,但是复选框的值是正常的。 请有人帮助我离开这里。 我想要的是当选中一个复选框并输入相应的文本字段值时。这两个值应该在一行中,它们应该显示为一行中的一行。 谢谢

1 个答案:

答案 0 :(得分:0)

您必须访问数组字段。同时拿着你的解决方案:

...
$index = $_POST['indexnum'][$i];
$checkvalues = $_POST['mychecks'][$i];
$textValue = $_POST['checktext'][$i];
...

只有2个输入的解决方案:

<form action='<?php echo $_SERVER['PHP_SELF'];?>' name='myform' method='post'>
 <table>
  <?php

  $num = "6";

  for($i= 0;$i<$num;$i++)
  {
  ?>
  <tr>
   <td>
    <input type='checkbox' name='mychecks[<?php echo $i;?>]' value='1'>
    <input type='text' name='checktext[<?php echo $i;?>]' size='20'>
   </td>
  </tr>
  <?php            
  }  
  ?>    

  <tr><td><input type="submit" name="submit" value="Submit" /></td></tr>
 </table>
</form>
<?php    

if(isset($_POST['submit']))
{
  $i = 1;

  foreach ($_POST["mychecks"] as $id=>$val)
  {
    echo ($i++).".)".$id." coressponse ".$_POST["checktext"][$id]."<br>";
  }    
}
?>