2012-11-13 76 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的方式来增加文本框的数量,然后写另一个循环从数组放回数据到文本框

希望我帮助!