php - 将字段动态添加到表单中并在操作页面中显示值

标签 php mysql html

我想实现动态选择框。我已经完全成功了,但是当我的页面被提交时,我的值(value)不存在 请参阅下面的代码

<select name="frm_child" id="frm_child" style="width:50px;" onchange="addFLd(this.value)" >
         <option value="0" >0</option>
            <option value="1" >1</option>
            <option value="2" >2</option>
            <option value="3" >3</option>
            <option value="4" >4</option>
            <option value="5" >5</option>
            <option value="6" >6</option>
        </select

childDynamic div 中的动态字段显示。哪个在 form 标签内?但是当我提交表单时,我看不到选择框的结果。看下面我的js代码

<div id="childDynamic" style="display:none;">
      <input type="text" name="child1" value="" />
      </div>

我的 JavaScript 代码 id

<script type="text/JavaScript">
Function addFLd(val){
var d=document.getElementById("childDynamic");
d.style.display='block';
d.innerHTML="";
    if(val!=0){

            d.innerHTML="<b>Please specify the ages of children:</b><br><br>";
            for(var i=1;i<=val;i++){
            if(i%2!=0 && i!=1){
            d.innerHTML+="<br><br>";
            }
            var name='child'+i;
            d.innerHTML+="&nbsp;&nbsp;Child "+i+": ";
            d.innerHTML+="&nbsp;<select name='"+name+"' id='"+name+"'><option value=''>--select--</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='11'>11</option><option value='12'>12</option><option value='13'>13</option><option value='14'>14</option><option value='15'>15</option><option value='16'>16</option><option value='17'>17</option>";

            d.innerHTML+="</select>";
            }
            d.innerHTML+="<br><br>";
             document.getElementById('childDynamic').appendChild(d);

                }
}
</script>

有谁知道我如何添加动态字段并获取表单元素的值?

最佳答案

在您的代码中,您可以使用从 0 到 17 的 for 循环将整个字符串替换为所有选项元素,例如

for (var age = 0; age < 18; age++) {
      d.innerHtml += "<option value='" + age + "'>" + age + "</option>"
   }

尽管我认为继续按照您的方式附加到 innerHTML 并不是很好的编码。

一种替代方法是使用一个名为“selectHtml”的变量并将代码添加到其中,然后设置 d.innerHTML 到最后的 selectHtml。

关于php - 将字段动态添加到表单中并在操作页面中显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735581/

相关文章:

javascript - 将变量从 Javascript 传递到 Zend 框架 Controller

php - 优化搜索: no results returned for phrase search

javascript - 在 JavaScript 中读取本地文本文件

html - 当图像悬停在其上时,如何仅在其容器宽度的向上侧放大图像?

php - 我需要在 HTML 和 PHP 中声明内容类型/字符集吗?

php - 在这个图像像素循环中我做错了什么?

mySQL JOIN 将文本添加到变量

mysql - 同一列的不同类型

php - 根据select选项从mysql检索数据

html - react 错误: Style prop value must be an object react/style-prop-object