MyJSP
<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+"' />"+" "+
"<input type='text' name='Values"+say+"' id='cValues"+cardsay+"' size='25' maxlength='6'/><br>";
document.getElementById('Cardnumbersay').value = cardsay;
}
}
答案 0 :(得分:1)
您正在丢失用户已在文本框中输入的数据,因为当您使用以下js代码修改innerHTML
时,整个文本框将被更新的文本框替换:
CardNumLabel.innerHTML = CardNumLabel.innerHTML+"<some_html_goes_here>";
由于上述陈述,具有id="CardNumLabel"
的td的全部内容被更新的值替换。放入的较新的innerHTML的文本框数量增加了一个,但没有规定保留用户先前在文本框中输入的内容。
保留先前输入的数据内容:
innerHTML
innerHTML
方式增加文本框的数量,然后编写另一个循环以将数据从数组中放回文本框希望我帮忙!