2011-07-03 1 views
0

私のボタンでテキストフィールドを作成したいが、ボタンをクリックすると、textFieldが作成されない。助けてくださいボタンを使用して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

''はサーバー側のタグです。 JavaScriptが応答を送信した後にクライアント側で実行されるため、JavaScript経由で作成することはできません。ただし、ここでの答えは、通常のHTMLテキスト入力を作成するのに役立ちます。 –

答えて

2

add()関数のコードは、新しい要素を作成しますが、ページに追加しません。あなたはそれを実際のページに入れ、それをあなたが望むDOM内に置くには、insertBeforeまたはappendChildのようなものを使う必要があります。

は、実施例のために、この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); 
} 
0

あなたは要素を作成したが、DOMに挿入したことがありません。あなたはこのような何かをする必要があります

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

あなたはdocument.body.insertBefore()

0

私が追加しようとしているものと考えているように、要素を追加するために使用できる他の方法があります。テキストエリア。 あなたは以下のコードでそれをやって試すことができます。このことができます

function add() { 
    $("<input />").attr({ 
     "id": "classe", 
     "name": "classe", 
     "label": "Classe", 
     "labelposition": "left" 
    }).appendTo("body");  
} 

希望:

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

これはjqueryの-方法です。歓声