2011-10-11 2 views
1

저는 javascript를 처음 사용했습니다. 나는 자바 동적으로 값이있는 텍스트 상자 추가

 <script type="text/javascript"> 
      function ajax(){ 
       var x = document.getElementById("ajax").innerHTML; 
       x= x + '<input name="reference[]" type="text" />'; 
       document.getElementById("ajax").innerHTML = x; 
      } 
     </script> 

이 클릭 이벤트 상입니다 .. 실행시에 동적으로 여러 텍스트 상자를 추가하려합니다. 여기서 문제는 새로운 텍스트 상자를 추가 할 때마다 이전 텍스트 상자의 값이 사라지고 함수가 호출 될 때마다 모든 텍스트 상자가 비어 있다는 것입니다.

document.getElementById("ajax").innerHTML += x; 

덮어 쓰기

document.getElementById("ajax").innerHTML = x; 

사용이

<script type="text/javascript"> 
      function ajax(){ 
       var x = '<input name="reference[]" type="text" />'; 
       document.getElementById("ajax").innerHTML += x; 
      } 
</script> 
+0

Example 23,, 그것은 특히 속성과 특성에 대해 브라우저에서 일치하지 않습니다. 사소한 목적을 위해 그것을 의지하지 마십시오. – RobG

답변

2

나는 document.createElement 01을 사용하는 것이 좋습니다 것입니다 :

+0

예, 페이지에 요소를 추가하는 올바른 방법 ... 일부 html 텍스트 문자열을 추가하지 않기 – Gatekeeper

+0

감사합니다. Sahil .. – ravi404

0

추가] 기존 콘텐츠에

추가]를 덮어 쓰기하지 innerHTML을 표준화하는 HTML5의 최소한의 시도에도 불구하고

function ajax() { 
    var textBox = document.createElement('input'); 
    textBox.name = 'reference[]'; 
    textBox.type = 'text'; 
    document.getElementById("ajax").appendChild(textBox); 
} 
+0

동일한 문제가 발생했습니다. – ravi404

+0

DOM은 두 요소에 동일한 이름을 사용하지 않는 것이 좋습니다. 하지만 JQuery를 사용하면 (참조로 [참조] 변경) u는 선택기 $ ("# reference")로 값을 가져올 수 있습니다. 이 값을 서버 측에서 사용하려면 어떤 언어를 사용하고 있습니까? – hungryMind

+0

나는 PHP를 사용하고 있습니다 .. – ravi404

관련 문제