当我使用JavaScript单击按钮时,我试图动态地在网页中插入文本框。我是JavaScript的初学者。我尝试在Chrome,Firefox和Opera中执行该程序(启用了JavaScript)。但是,单击按钮时程序不会插入文本框。我试图在Eclipse中运行相同的代码,Eclipse中的HTTP预览器运行相同的代码。任何人都可以说明为什么会发生这种情况,以及如何在我的浏览器中执行相同的代码?
以下是我使用的代码:
<html>
<head>
<title>Doing some random programming</title>
</head>
<body>
Add input elements here:
<br/>
<input type = "button" value = "Add another element" id = "AddButton" onClick = "AddTextBox()" />
<div id = "Division"></div>
<script type = "text/javascript">
<!--
//var addButton = document.getElementById('AddButton');
function AddTextBox()
{
var divis = document.getElementById('Division');
var inputTxt = document.createElement("<input type = \"text\" />");
var div = document.createElement('div');
//input.type = "text";
div.appendChild(inputTxt);
divis.appendChild(div);
}
//-->
</script>
<noscript>
Needs javascript
</noscript>
</body>
</html>
答案 0 :(得分:3)
createElement
方法采用元素类型的名称,而不是HTML字符串。
var inputTxt = document.createElement("<input type = \"text\" />");
应该是
var inputTxt = document.createElement("input");
或(如果您想明确说明type="text"
,这是您不需要的,因为它是默认值):
var inputTxt = document.createElement("input");
inputTxt.setAttribute('type', 'text');