2011-07-03 76 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()函數中的代碼會創建一個新元素,但不會將其添加到頁面中。您需要使用類似insertBeforeappendChild的內容將其放置在實際頁面中,並將其放置在您想要的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); 
} 
0

您創建的元素,但從未它插入到DOM。你應該做這樣的事情:

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

有你可以用它來添加的元素,如document.body.insertBefore()

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

這是jQuery的方式:

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

希望這有助於。歡呼聲