2012-11-13 97 views
2
  • 使用JavaScript MyJSP如何動態地添加在jsp中

    <td id="CardNumLabel" colspan="2" width="300px" align="left"> 
        <input readonly="readonly" type="text" name="Names1" id="cNames1" size="25" 
        value="Cardnumber1" /> 
        <input type="text" name="Values1" id="cValues1" size="25" value="" maxlength="6"/ 
        <input type="hidden" name="Cardnumbersay" id="Cardnumbersay" value="1"> 
        <input type="button" value="+" onClick="addCardnumber();"> 
    </td> 
    
  • 我的JavaScript

    function addCardnumber() 
    { 
        var cardsay; 
        cardsay = parseInt(document.getElementById('Cardnumbersay').value); 
        if(document.getElementById('cNames'+cardsay.toString()).value=="" || document.getElementById('cValues'+cardsay.toString()).value=="") 
        { 
         alert('NULL'); 
        }else{ 
         cardsay = cardsay+1; 
         CardNumLabel.innerHTML = CardNumLabel.innerHTML+"<input type='text' readonly='readonly' name='Names"+say+"' id='cNames"+cardsay+"' size='25' value='Cardnumber"+cardsay+"' />"+"&nbsp;"+ 
         "<input type='text' name='Values"+say+"' id='cValues"+cardsay+"' size='25' maxlength='6'/><br>"; 
         document.getElementById('Cardnumbersay').value = cardsay; 
        } 
    } 
    

嗨,大家好,文本框 當我點擊「+ 「按鈕的JavaScript功能添加新的文本框進行填充。這部分正常運行。問題是當我點擊添加第二個文本框的按鈕時,js添加了它們,但刪除了我輸入到第一個文本框的值。當我點擊添加按鈕時,我不想丟失數據。如何解決它? 感謝

回答

1

你失去了用戶,因爲整個文本框越來越被新的所代替,當您使用下面的js代碼修改innerHTML在文本框中已經輸入的信息:

CardNumLabel.innerHTML = CardNumLabel.innerHTML+"<some_html_goes_here>";

由於對於上面的陳述,具有id="CardNumLabel"的td的全部內容被更新的值替換。放入較新的innerHTML的文本框數量增加了一個,但沒有規定保留用戶以前在文本框中輸入的內容。

要保留先前輸入的數據內容:

  1. 使用appendChild()方法,而不是直接修改innerHTML
  2. 或者,寫在JS複製由用戶輸入的數據並將其存儲在數組中的環。然後用同樣innerHTML的方式來增加文本框的數量,然後寫另一個循環從數組放回數據到文本框

希望我幫助!