2011-07-03 2 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와-방법입니다. 건배

관련 문제