0

我有一个表单,可以根据我想要的数字动态生成复选框字段和文本字段字段。这是生成的表单和字段

<?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>";

}
}
?>

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

4

1 回答 1

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>";
  }    
}
?>
于 2012-09-10T22:00:06.590 回答