Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用JavaScript/JQuery生成动态表单?_Php_Javascript_Jquery_Html - Fatal编程技术网

Php 如何使用JavaScript/JQuery生成动态表单?

Php 如何使用JavaScript/JQuery生成动态表单?,php,javascript,jquery,html,Php,Javascript,Jquery,Html,假设有一个form.php文件,其中有一个add按钮,单击该按钮后,将显示一个下拉列表,让您选择所需的输入类型。例如: <select name="Type"> <option value="Text">Text</option> <option value="MultipleChoice">MultipleChoice</option> <option value="Checkbox">Ch

假设有一个form.php文件,其中有一个add按钮,单击该按钮后,将显示一个下拉列表,让您选择所需的输入类型。例如:

<select name="Type">
        <option value="Text">Text</option>
    <option value="MultipleChoice">MultipleChoice</option>
    <option value="Checkbox">Checkbox</option>
</select>
我的问题是,我不知道如何实现这个功能,一旦选择了类型,假设复选框,那么就会显示一个复选框,可以让你输入每个复选框的标签,你可以一个接一个地这样做。
我还想让这个过程可以迭代进行。我不确定我是否解释清楚,这有点像谷歌表单功能。有什么想法吗?如果提供一些代码会更好。谢谢

这里是普通的老式HTML/JS

<select name="Type" onchange="showformelement(this.value)">
    <option value="text">Text</option>
<option value="MultipleChoice">MultipleChoice</option>
<option value="Checkbox">Checkbox</option>
</select>
<script>
function showformelement(whichelement){
    //use whichelement to embedd element in DOM
}
</script>

如果您可以使用jQuery或类似的工具包,那么这可能是一项简单得多的工作

我知道您在寻找什么,只需让您知道它不是一个简单的脚本,它将有太多的功能,而且构建起来有点困难

首先,如果您在web上搜索基于PHP和jQuery的表单生成器以及类似的其他内容,您将发现许多现成的脚本。如果您不想搜索一个,那么原则逻辑如下所示:

PS:我将解释如何使用jQuery进行开发

<select id="options">
<option value="1"></option>
<option value="2"></option>
<option value="3"></option>
</select>

<script>
$(document).ready(function(){
$('#options').change(function(){
var optSelected = $('#options option:selected').val()    
  if(optSelected == 1){
    // Shows up and div with Checkboex for edit
  }
  if(optSelected == 2){
    // Shows up and div with Combobox for edit
  }
  if(optSelected == 3){
    // Shows up and div with Textbox for edit
  }
  })
})
</script>
完成后,您将需要构建每种类型的选项。。。 工作太多了。。。听着,我没有在这里写你的脚本,我只是解释了如何构建


这是一个庞大的系统…您需要了解一点JavaScript才能使其中一个变得更简单,而不需要进行任何大小写或条件处理,使用jQuery

例如:


这不是提出这个问题的地方。这是完全可能的,但你最好阅读一些教程并亲自尝试一下。然后,当你有一些更具体的问题时再回来。如果你问有可能吗?我说是的,但是当你验证的时候会很头疼,并且会使用这个动态表单来处理数据。谢谢你的建议!正如@Wallysson所解释的,你必须实际记录下几乎每个元素的动作。这将是太多的工作,它不是一个简单和容易的任务以及。尝试使用一些现成的脚本。
$(function() {
    $("#type").change(function() {
        type = $("option:selected", this).text();
        $("#target").append("<input type="+type+">");
    })
})