使用JavaScript动态生成文本框

使用JavaScript动态生成文本框,javascript,html,Javascript,Html,我想根据用户输入动态生成文本框。如果用户在文本框中输入整数值,如果他/她输入5,我想生成5个文本框。此代码在Firefox中工作,但在IE和Netscape中不工作;请帮助我如何做到这一点或指出任何其他错误,在这个代码给我。此外,我们使用的技术是Struts 2。 请帮帮我 JavaScript代码: function generate() { var tot = document.getElementById("totmob").value; var tbl = document.ge

我想根据用户输入动态生成文本框。如果用户在文本框中输入整数值,如果他/她输入5,我想生成5个文本框。此代码在Firefox中工作,但在IE和Netscape中不工作;请帮助我如何做到这一点或指出任何其他错误,在这个代码给我。此外,我们使用的技术是Struts 2。
请帮帮我

JavaScript代码:

function generate()
{
  var tot = document.getElementById("totmob").value;
  var tbl = document.getElementById("sim");

for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  = 'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno> <br> \n';
}
函数生成()
{
var tot=document.getElementById(“totmob”).value;
var tbl=document.getElementById(“sim”);

对于(var i=1;i您是否可以尝试InnerHtml以外的内容-您可以尝试以下内容:

  • 使用GetElementByID获取要向其中添加文本框的元素
  • 如果需要,请删除所有现有子项
  • 将文本框作为子项添加到选定节点

从javascript代码来看,您应该使用以下代码:

tbl.innerHTML  +=
而不是

tbl.innerHTML  =

在for循环中。

下面的代码在IE和Firefox中都非常适合我。当你说它不工作时,你是什么意思

function generate()
{
  var tot = document.getElementById("totmob").value;
var tbl = document.getElementById("sim");

for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  = tbl.innerHTML  +'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno> <br> \n';
}

}
</script>
<body>
<table>
<tr>
    <td>
        <span>Total Mobile Number  </span>
        <input type="text" id="totmob" />
    <td>
    <td>
    <input type="button"  value="ADD" onclick="generate()"/>
    </td>
</tr>
</table>
<div id="sim">
</div>
</body>
</html>
函数生成()
{
var tot=document.getElementById(“totmob”).value;
var tbl=document.getElementById(“sim”);

for(var i=1;i
for(var i=1;i向输入名称添加唯一标识符或唯一id)

比如:


用于(var i=1;i但是如果您在不刷新页面的情况下更改文本框中的值,则会在先前添加的文本框之后添加更多的文本框。但是,无论何时更改文本框中的值,都是错误的,只应添加新的文本框,而不应保留以前的文本框。您能否更改编码a根据我所说的条件。

您的HTML代码不可见。请将您的所有标记从更改为更具体的标题,因为您的问题将有助于其他人帮助您。此外,请尝试格式化您的代码。Naveen,您能分享出了哪些错误,哪些更改修复了您的问题吗?
function generate()
{
  var tot = document.getElementById("totmob").value;
var tbl = document.getElementById("sim");

for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  = tbl.innerHTML  +'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno> <br> \n';
}

}
</script>
<body>
<table>
<tr>
    <td>
        <span>Total Mobile Number  </span>
        <input type="text" id="totmob" />
    <td>
    <td>
    <input type="button"  value="ADD" onclick="generate()"/>
    </td>
</tr>
</table>
<div id="sim">
</div>
</body>
</html>
for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  = 'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno> <br> \n';
}
for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  += 'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno> <br> \n';
}
for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  += 'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno'+i+'> <br> \n';
}