Javascript 根据用户选择显示输入字段(选择)

Javascript 根据用户选择显示输入字段(选择),javascript,select,input,Javascript,Select,Input,所以我在我的页面上选择了,根据用户的选择,我想向他显示输入字段的数量,然后在php脚本中对其进行处理 看起来是这样的: 如果用户选择3,则应显示3个输入字段,如果选择2,则应显示2等,而无需重新加载页面。这里应该使用什么js或其他东西?您要做的是创建所有6个输入字段。然后将它们全部隐藏为标准,并执行document.getElementById(id).style以获取样式。然后在选择更改时调用函数,并使用所选值来发现隐藏的输入 正如@Arthur Cantarela所说,这在JS中是一种糟糕

所以我在我的页面上选择了,根据用户的选择,我想向他显示输入字段的数量,然后在php脚本中对其进行处理

看起来是这样的:


如果用户选择3,则应显示3个输入字段,如果选择2,则应显示2等,而无需重新加载页面。这里应该使用什么js或其他东西?

您要做的是创建所有6个输入字段。然后将它们全部隐藏为标准,并执行
document.getElementById(id).style
以获取样式。然后在选择更改时调用函数,并使用所选值来发现隐藏的输入

正如@Arthur Cantarela所说,这在JS中是一种糟糕的做法。
或者,您可以将它们放在一个div中,并根据需要的数量更改div的innerHTML

您可以在angularjs中使用ng repeat,并将数字选择绑定到repeat表达式。

假设您已经有一个表单f,您可以通过循环x次动态创建输入元素,其中x是所需的选定输入数,如下所示

for ( var i=0;i<x;i++){
    var inputText = document.createElement("input"); //input element, text
    inputText.setAttribute('type',"text");
    inputText.setAttribute('name',"mark" + i);
    f.append(inputText);
}

for(var i=0;i这里有一个片段,您可以运行并检查它。它还保留输入值,以防输入数量减少

var inputNumber=document.getElementById('input-number');
inputNumber.addEventListener('change',changeNumberOfInputs);
功能更改NumberOfInputs(事件){
var desiredinput=parseInt(event.target.value);
var inputsForm=document.getElementById('inputs-form');
var-actualInputs=inputsForm.getElementsByTagName('input').length;
如果(实际投入<期望投入){
对于(var i=0;i=0){

对于(var i=0;i到目前为止你有没有尝试过的代码?创建未使用的元素并隐藏它们在DOM操作中是一个糟糕的做法。我不知道。我很少用JS和HTML开发东西!使用angular来执行这个简单的任务就像用炸弹杀死苍蝇一样。有简单的纯JS解决方案。也许使用libra没有错ry.我也不认为你的解决方案特别简单。实际上是这样的:添加js库需要在客户端加载和处理更多的js数据,这会使你的应用程序速度变慢。我的解决方案的“简单性”是关于使用js原生dom操作,你应该添加,只需加载1个输入字段,而不是0!谢谢。只是修复一下您没有考虑存在一个select元素,用户可以在其中更改输入的数量。