2011-11-08 22 views
0

我已經使用javascript創建了動態元素。這些元素是當我輸入一個int價值的基礎上創造的價值,我得到的元素數。使用javascript基於表單域中的某些值創建動態元素

我的問題是,如果我改變INT值增加了更多的元素,而不是我只是想保持已在INT字段中輸入元件的數量。

請幫

的Javascript我使用

<script type="text/javascript"> 
    var inival = 0; // Initialise starting element number 
    // Call this function to add textbox 
    function addTextBox() { 
     for (var i = 1; i <= document.getElementById('unit').value; i++) { 

      if(document.getElementById("my"+i+"Div") != null){ 
       var child = document.getElementById("my"+i+"Div"); 
       alert(child); 
       var parent = document.getElementById("area"); 
       alert(parent); 
       alert(i); 
       parent.removeChild(child); 

      } 

      var newArea = add_New_Element(); 
      var htcontents = "Unit"+i+": <input type='text' name='synchunit"+i+"' id='unit"+i+"'/>"; 
      document.getElementById(newArea).innerHTML = htcontents; // You can any other elements in place of 'htcontents' 
     } 
    } 


    function add_New_Element() { 
     inival = inival + 1; // Increment element number by 1 
     var ni = document.getElementById('area'); 
     var newdiv = document.createElement('div'); // Create dynamic element 
     var divIdName = 'my' + inival + 'Div'; 
     newdiv.setAttribute('id', divIdName); 
     ni.appendChild(newdiv); 
     return divIdName; 
    } 

    function removeElement(id){ 
     var child = document.getElementById(id); 
     alert(child); 
     var parent = document.getElementById('area'); 
     parent.removeChild(child); 
     return true;    
    } 

</script> 

我叫它方式

<tr class="trlist1"> 
    <td style="border:0;"> 
     <input name="projectunit" id="unit" onblur="addTextBox();"/> 
    </td> 
</tr> 
<tr> 
    <td style="border:0;" align="center"> 
     <div id='area'> 
     </div>  
    </td> 
</tr> 

回答

0

我已經解決了它自己

剛剛添加

function addTextBox() { 
    document.getElementById("area").innerHTML = ''; 
    for (var i = 1; i <= document.getElementById('unit').value; i++) { 

     var newArea = add_New_Element(); 
     var htcontents = "Unit"+i+": <input type='text' name='synchunit"+i+"' id='unit"+i+"'/>"; 
     document.getElementById(newArea).innerHTML = htcontents; // You can any other elements in place of 'htcontents' 
    } 
} 

document.getElementById(「area」)。innerHTML ='';

此行只是重置div。

相關問題