首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用JavaScript动态生成文本框

使用JavaScript动态生成文本框
EN

Stack Overflow用户
提问于 2009-02-12 07:29:14
回答 6查看 8.1K关注 0票数 0

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

请帮帮我。

JavaScript代码:

代码语言: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';
}

HTML代码:

代码语言:javascript
运行
复制
<td>
<s:textfield id="totmob" label="Total Mobile Number"  />
<td>
<td>
<input type="button"  value="ADD" onclick="generate()"/>
</td>
</tr>
</table>
<div id="sim">
</div>
EN

回答 6

Stack Overflow用户

发布于 2009-02-12 07:55:23

代码语言:javascript
运行
复制
for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  = 'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno> <br> \n';
}

应该是

代码语言:javascript
运行
复制
for(var i =1;i<=tot;i++)
{
  tbl.innerHTML  += 'Mobile No'+i+' <input type="text"  size = "20" maxlength= "20" name= hoardingregister.mobileno> <br> \n';
}

因为您需要追加到内部HTML,而不是替换它。

还使用了a而不是

票数 2
EN

Stack Overflow用户

发布于 2009-02-12 07:39:16

你可以试试InnerHtml之外的其他东西吗--你可以试试这个:

  • 使用GetElementByID获取要向
  • 添加文本框的元素如果需要,请移除任何现有子项
  • 将文本框作为子项添加到选定节点
票数 0
EN

Stack Overflow用户

发布于 2009-02-12 07:44:13

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

代码语言:javascript
运行
复制
tbl.innerHTML  +=

而不是

代码语言:javascript
运行
复制
tbl.innerHTML  =

在for循环中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/540350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档