我想用我的按钮创建一个文本字段,但是当我点击一个按钮时,没有textField创建。帮帮我
<head>
<script type="text/javascript">
function add() {
//Create an input type dynamically.
var element = document.createElement("s:textfield");
//Assign different attributes to the element.
element.setAttribute("id", "classe");
element.setAttribute("name","classe");
element.setAttribute("label", "Classe");
element.setAttribute("labelposition", "left");
}
</script>
</head>
<s:textfield name="classe" id="classe" label="Classe" labelposition="left" />
<sj:submit id="formSubmit1" value="Ajouter" button="true" onclick="add()"/>
答案 0 :(得分:2)
您在add()函数中的代码会创建一个新元素,但不会将其添加到页面中。您需要使用insertBefore或appendChild之类的内容将其放在实际页面中,并将其放置在您想要的DOM中。
有关工作示例,请参阅此jsFiddle:http://jsfiddle.net/jfriend00/dEstk/
function add() {
//Create an input type dynamically.
var element = document.createElement("input");
//Assign different attributes to the element.
element.setAttribute("id", "classe");
element.setAttribute("type", "text");
document.body.appendChild(element);
}
答案 1 :(得分:1)
这是jquery-way:
function add() {
$("<input />").attr({
"id": "classe",
"name": "classe",
"label": "Classe",
"labelposition": "left"
}).appendTo("body");
}
希望这会有所帮助。干杯
答案 2 :(得分:0)
您创建了元素,但从未将其插入DOM。你应该这样做:
// add the newly created element and it's content into the DOM
document.body.appendChild(element);
您可以使用其他方法添加元素,例如 document.body.insertBefore()
答案 3 :(得分:0)
我认为你想要添加的是textarea。 您可以尝试使用以下代码执行此操作:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<script type="text/javascript">
function add() {
//Create an input type dynamically.
var element = document.createElement("textarea");
//Assign different attributes to the element.
element.setAttribute("id", "classe");
element.setAttribute("name", "classe");
element.setAttribute("label", "Classe");
element.setAttribute("labelposition", "left");
// With this line you add the element to <body>My Element</body>.
document.body.appendChild(element);
}
</script>
</head>
<input type="button" onclick="add()" value="Add textarea"/>
<br/>
</body>
</html>