HTML表单根据问题的答案创建更多输入

时间:2017-05-11 01:17:29

标签: php html

<form method="post" action="" >
<input type ="text" placeholder="Test Name" name="name">
<input type="number" placeholder="Number Of Questions" name ="numb">
<input type="submit" value="Start">
</form>

我的代码到目前为止。我想要的是无论多少问题,我希望它创造的是

<input type="text" placeholder="Question + Numb">
    <select name="numbOptions" placeholder="Number of Options For question + numb">
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3">Three</option>
        <option value="4">Four</option>
        <option value="5">Five</option>
    </select>
    <input type="text" placeholder="Option1">

对于每个问题,我不确定如何根据输入数量的问题在表单中创建更多输入。此外,我将不得不跟踪哪个是这样的PHP形式。同样猜测我会将它用于下面的选项,无论解决方案是什么,但我计划能够自己重新创建。感谢您的任何帮助或指导。

1 个答案:

答案 0 :(得分:1)

您可以使用strcat(str, (char[]){s[i], '\0'});循环来实现此目的。

for

<强>更新
要自动更改它,你必须使用一些JavaScript(我使用的是jQuery,但这也可以使用vanilla JavaScript)

首先给数字输入一个id,我要给它{id {1}}

的id
<select name="numbOptions" placeholder="Number of Options For question + numb">
<?php
  for ($i = 0; $i < $_POST['numb']; $i++) {
    echo "<option value='" . $i . "'>" . $i . "</option>";
  }
?>
</select>

并为空选择提供ID,我将其命名为numb

<input type="number" placeholder="Number Of Questions" name="numb" id="numb">

现在,我们将在结束numb-options标记之前的<select name="numbOptions" placeholder="Number of Options For question + numb" id="numb-options"> 标记页面底部显示此内容:

<script>

这是做什么的?! Ajax允许您加载另一个PHP脚本(在本例中,名为<body>),并将其输出附加到另一个元素(在本例中为select元素)

现在我们要将原始代码从此更新之前移到名为$("#numb").change(function(){ $.ajax({url: "load-question.php", success: function(result){ $("#numb-options").html(result); }}); });

的新文件中

注意:这是未经测试的,如果您有任何问题请跟进,并且您需要jquery才能使用