2014-02-26 115 views
1

我有一個要求,單擊按鈕時添加文本框。 當我單擊添加按鈕將創建新的文本框但先前輸入的文本框中的數據將被清除。我不想清除文本框中的數據,同時單擊添加按鈕。 我該如何解決這個問題?不想清除文本框,同時點擊添加按鈕

HTML

<tr id="div"></tr> 
<tr> 
<td> 
    <button type="button" class="btn btn-lg btn-info" onclick="generateRow();">Add</button> 
</td> 
</tr> 

JS

function generateRow() { 
    var d=document.getElementById("div"); 
    d.innerHTML+=" <input class='form-control' type='text' required autofocus name='year'/> "; 
} 
+0

''嗯......塞西n'est PAS UNE管? – bjb568

+0

@ bjb568我有很多paass uniuqe id的名字嗎? –

+0

是的,但我的意思是,你正在調用「tr」「div」... – bjb568

回答

1
function generateRow() { 
    var i=0,j=0; 

    var d=document.getElementById("div"),input,value; 
    //var m=document.getElementById("div"); 
    var x=new Array(50); 
    while (i!=d.childNodes.length/2) 
    { 
    if (input = d.children[i]) {// If there's an input... 
     x[i]=input.value; // ...get the value 
    } 


    //d.children[i].value = value; 
    i++; 
    } 
    d.innerHTML += "<input class='form-control' type='text' required autofocus name='year'/> "; 
    // m.innerHTML += "<td><input type='button' required autofocus name='year' value='Remove'/> </td>"; 

    while(j!=i) 
     { 
    d.children[j].value = x[j]; 
     j++; 
     } 
} 
+0

哦,多個值。感謝編輯。 – bjb568

1

使用jQuery .append()到DIV添加到現有的內容

+0

-1 jQuery,undetailed,1-liner – bjb568

2

你可以使用像這在javascript中

function generateRow() { 
    var child="<input class='form-control' type='text' required autofocus name='year'/>"; 
    document.getElementById("div").appendChild(child); 
} 
0

使用jQuery稍微不同的答案。可能會爲未來的用戶

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function generateRow() { 
      $("#div").append("<input type='text' name='year'/><br/>"); 
     } 
    </script> 
</head> 
<body> 
    <table> 
     <div id="div"> 
      <!-- Buttons Go Here --> 
     </div> 
     <button type="button" onclick="generateRow();">Add</button> 
    </table> 
</body> 
</html> 

JSFiddle

1

是有益的嘗試這種使用純JavaScript

function generateRow() { 
    var d=document.getElementById("div"); 
    var f = document.createElement("input"); 
    f.name="year"; 
    d.appendChild(f); 
} 
相關問題