如何使用php向页面添加更多文本框?

如何使用php向页面添加更多文本框?,php,Php,因此,我有这段代码,我想插入到我的网站 <table border="1"> <col width="130"> <col width="80"> <tr> <td align = "right">Steps:</td><td align="center">Add as many steps as you need</td> </tr> <tr> <td

因此,我有这段代码,我想插入到我的网站

<table border="1">
<col width="130">
<col width="80">
<tr>
    <td align = "right">Steps:</td><td align="center">Add as many steps as you need</td>
</tr>
<tr>
    <td align = "right">Step 1:</td> <td><textarea style="width: 300px" class="form-control" name="steps[]" rows="3"></textarea></td>
</tr>
<tr>
    <td align = "right">Step 2:</td> <td><textarea style="width: 300px" class="form-control" name="steps[]" rows="3"></textarea></td>
</tr>
<!--<tr>
    <td align = "right">Step 3:</td> <td><textarea style="width: 300px" class="form-control" name="steps[]" rows="3"></textarea></td>
</tr>
<tr>
    <td align = "right">Step 4:</td> <td><textarea style="width: 300px" class="form-control" name="steps[]" rows="3"></textarea></td>
</tr>
-->
</table>

在大多数情况下,我有一些评论,因为我正在测试,以确保我的网站可以处理多个文本框,但我的问题是,我如何插入步骤到我的网站使用php?我有这些都在.php上的文件,以防你想知道,但我想插入更多的框,按钮就在当前框下。每次用户单击它时,它都应该在当前框下面插入另一个框,并相应地更新编号。我只是不知道从哪里开始,如何让他们加入。有什么想法吗?

如果不想在添加新框后重新加载页面,可以使用JavaScript/JQuery添加这些新框。我真的建议大家看看这个,而不是试图用PH

如果你真的想用php来实现,你必须在表单中有一个提交按钮

所以加上

请记住,重新加载页面后,变量将丢失其值。
因此,如果你想计算,你必须使用javascript或者以某种方式确定哪一步是当前的,然后把它插入到回音中。当然,在表单中的隐藏字段中设置最后一步,或者将其作为get参数附加

您可以使用以下代码在JS和jQuery中创建新元素:

HTML

记住为这个解决方案包括jQuery


请注意,这段代码可能并不完美,但它应该给您一个很好的开端。

您能使用Jquery吗,不能这样做吗

$(document).ready(function(){
   $('#myButton').click(function(){
   $(':input').append('<input type="textbox">');
   });
   });

您将无法使用PHP动态地执行此操作。您必须使用javascript。您可以使用查询参数跟踪url中要显示的步骤数,例如?步骤=4,然后循环它们。只需增加steps参数并刷新页面。但是,这样您将丢失在文本区域中键入的内容。就我个人而言,我可能会选择javascript方法。
if(isset($_POST['submit'])) {
    echo " [your usual tr-td-structure] ";
}
<button id="addButton">Add me!</button>
var stepCounter = 3; //Number of the first step to be added
$('#addButton').click(function () {
    var tr = document.createElement("tr");
    var td1 = document.createElement("td");
    var td2 = document.createElement("td");
    var textarea = document.createElement("textarea");
    $(textarea).attr("name", "steps[]");

    $(td1).innerHTML("Step " + stepCounter);    
    stepCounter++;

    $(tr).append(td1);
    $(tr).append(td2);
    $(td2).append(textarea);

    $('#giveTheColAnId').append(tr);
});
$(document).ready(function(){
   $('#myButton').click(function(){
   $(':input').append('<input type="textbox">');
   });
   });