<div id="a"></div>
document.getElementById("a").innerHTML +=html;当我html的内容是个表格 含有好多text框我添加一个html后 在text里面填写内容
然后在添加一个html 这个时候 第一个html里面的text里面的内容都没了
在IE下面 没有这个问题我不想用DOM去创建html内容 因为里面比较复杂
各位大大 有没什么别的方法?
document.getElementById("a").innerHTML +=html;当我html的内容是个表格 含有好多text框我添加一个html后 在text里面填写内容
然后在添加一个html 这个时候 第一个html里面的text里面的内容都没了
在IE下面 没有这个问题我不想用DOM去创建html内容 因为里面比较复杂
各位大大 有没什么别的方法?
<script language='javascript'>
function test()
{
document.getElementById("a").innerHTML +="<p>222222222222</p>";
}
</script>
<input type='button' onclick='test()'/>
<script language='javascript'>
function test()
{
document.getElementById("a").innerHTML +="<input id='b' type=text>";
}
</script>
<input type='button' onclick='test()' value ='添加'/>添加一次 然后在B里面写点数据 在点添加 第一次写的数据就没了
<div id="a"> </div>
<script language='javascript'>
function test()
{
document.getElementById("a").innerHTML +="<p>222222222222</p>";
}
</script>
<input type='button' onclick='test()'/>
<div id="a"> </div>
<script language='javascript'>
function test()
{
//document.getElementById("a").innerHTML +="<input id='b' type=text value='' /><br/>";
var oInput = document.createElement('input');
oInput.type = 'text';
document.getElementById("a").appendChild(oInput);
}
</script>
<input type='button' onclick='test()' value ='添加'/>如果你要这种效果只能用append方式~ innerHTML 只会把内部的 html 替换~
{
alert(document.getElementById("a").innerHTML);
document.getElementById("a").innerHTML +="<input id='d' type=text>";
};
打印的时候 可以看到 ie 将值 输入的值附到了input 控件的 value属性里 而火狐没有
但是我的html太复杂了,不是仅仅一个text
所以我不想用DOM 的方法去创建还有其他的方法没 ?
然后把每次要添加的东西加入到frag,
用的时候document.getElementById("a").appendChild(frag.cloneNode(true));即可
在更改a的innerHTML之前,先用局部变量保存表单输入框的value值,在更改a的innerHTML后再还原输入框的value,如果输入框比较多,可以用对象直接量保存各个输入框value值,这样在还原时就可以轻松的用一个循环体把各个值还原。
使用效果会一样。