Javascript 使用按钮创建标记文本字段

Javascript 使用按钮创建标记文本字段,javascript,jquery,struts2,Javascript,Jquery,Struts2,我想用我的按钮创建一个文本字段,但是当我点击一个按钮时,没有文本字段创建。帮帮我 <head> <script type="text/javascript"> function add() { //Create an input type dynamically. var element = document.createElement("s:textfield"); //Assign different attributes to the element.

我想用我的按钮创建一个文本字段,但是当我点击一个按钮时,没有文本字段创建。帮帮我

<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()"/>

函数add(){
//动态创建输入类型。
var元素=document.createElement(“s:textfield”);
//为元素指定不同的属性。
setAttribute(“id”、“classe”);
setAttribute(“名称”、“类别”);
setAttribute(“标签”、“类别”);
setAttribute(“labelposition”、“left”);
}
您在add()函数中的代码创建了一个新元素,但没有将其添加到页面中。您需要使用类似或的东西将其放入实际页面中,并将其放置在您想要的DOM中

有关工作示例,请参见此JSFIDLE:

在add()函数中的代码创建新元素,但不会将其添加到页面中。您需要使用类似或的东西将其放入实际页面中,并将其放置在您想要的DOM中

有关工作示例,请参见此JSFIDLE:


您创建了元素,但从未将其插入DOM。你应该这样做:

  // add the newly created element and it's content into the DOM
  document.body.appendChild(element);

还有其他方法可用于添加元素,如document.body.insertBefore()

您创建了元素,但从未将其插入DOM。你应该这样做:

  // add the newly created element and it's content into the DOM
  document.body.appendChild(element);

您还可以使用其他方法添加元素,如document.body.insertBefore()

我想您要添加的是文本区域。 您可以尝试使用以下代码执行此操作:

<!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>

函数add(){
//动态创建输入类型。
var元素=document.createElement(“textarea”);
//为元素指定不同的属性。
setAttribute(“id”、“classe”);
setAttribute(“名称”、“类别”);
setAttribute(“标签”、“类别”);
setAttribute(“labelposition”、“left”);
//通过这一行,您可以将元素添加到我的元素中。
document.body.appendChild(元素);
}


我认为您试图添加的是文本区域。 您可以尝试使用以下代码执行此操作:

<!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>

函数add(){
//动态创建输入类型。
var元素=document.createElement(“textarea”);
//为元素指定不同的属性。
setAttribute(“id”、“classe”);
setAttribute(“名称”、“类别”);
setAttribute(“标签”、“类别”);
setAttribute(“labelposition”、“left”);
//通过这一行,您可以将元素添加到我的元素中。
document.body.appendChild(元素);
}


这是jquery的方式:

function add() {
    $("<input />").attr({
       "id": "classe",
       "name": "classe",
       "label": "Classe",
       "labelposition": "left"
    }).appendTo("body");    
}
函数添加(){
$(“”)。属性({
“id”:“classe”,
“名称”:“类别E”,
“标签”:“类别E”,
“标签位置”:“左”
}).附于(“主体”);
}

希望这有帮助。干杯

这是jquery的方式:

function add() {
    $("<input />").attr({
       "id": "classe",
       "name": "classe",
       "label": "Classe",
       "labelposition": "left"
    }).appendTo("body");    
}
函数添加(){
$(“”)。属性({
“id”:“classe”,
“名称”:“类别E”,
“标签”:“类别E”,
“标签位置”:“左”
}).附于(“主体”);
}
希望这有帮助。Cheers是一个服务器端标签。您不能通过JavaScript创建它,因为JavaScript在服务器发送响应后在客户端执行。这里的答案应该可以帮助您创建一个普通的HTML文本输入。
是一个服务器端标记。您不能通过JavaScript创建它,因为JavaScript在服务器发送响应后在客户端执行。不过,这里的答案应该可以帮助您创建正常的HTML文本输入。