动态地为textbox的name属性赋值

时间:2013-11-25 20:06:12

标签: php html

似乎我无法找到问题的解决方案。我尝试搜索它,但给我的结果在解决方案中包含javascript。我想要的只是使用PHP。 所以我的问题是给动态生成的文本框唯一的名称,以便我可以在以后检索它们的值。

这是我的代码:

<form name="zodiac_quiz" id="zodiac_quiz" method="post" action="<?php $_SERVER['PHP_SELF']?>">
        <h3>True or False</h3>
        <?php
           for($i=0; $i<count($typeTF); $i++)
           {
               echo "<input type = 'text' size = 12 maxlength = 5 name = TF$i+1 />";
           }
        ?>
        <input type='submit' name='checkAns' id='checkAns' value='Submit Answers'/>
        <br/>

</form>

当我使用var_dump()测试代码以查看它是否有效时,我只得到NULL。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

更容易使用arrays(并且您在input标记中遗漏了很多引号):

foreach($typeTF as $t)
{
    echo '<input type="text" size="12" maxlength="5" name="TF[]" />';
}

然后循环浏览$_POST['TF']

答案 1 :(得分:0)

你不能在echo字符串中做数学函数,你有两个选择:

echo "<input type = 'text' size = 12 maxlength = 5 name = 'TF" . $i+1 . "' />";

或者你可以做一个临时变量

$temp = $i + 1;
echo "<input type = 'text' size = 12 maxlength = 5 name = '$temp' />";

但我会把它作为一个数组来做:

echo "<input type = 'text' size = 12 maxlength = 5 name = 'TF[" . $i+1 . "]' />";

因此,您可以访问$_POST['TF']数组中的所有值。