如何在文本字段中保留文本
How to retain a text in textfield
我有一个链接,链接的目的是在我点击它时动态添加一个文本字段。但问题是,如果我在以前生成的文本字段中输入了文本并点击了链接,则会生成文本字段,但页面会刷新,输入的文本会重置。
html文件
<script>
var countBox =3;
var boxName = 0;
function addInput()
{
var boxName="textBox"+countBox;
document.getElementById('responce').innerHTML+='<br /><input type="radio" name="choices" value="o'+countBox+'" id="o'+countBox+'"/><label>Option '+countBox+':</label> <input type="text" id="option'+countBox+'" name="option'+countBox+'"" placeholder="Enter here..." /><br/>';
countBox += 1;
}
</script>
<br /><a href="javascript:void()" onclick="addInput()">Add another</a>(max.5)
如何在添加文本字段的同时保留文本字段中的文本。希望你能理解我的问题
提前谢谢。
页面是而不是刷新的,所以这不是问题所在。问题是您正在使用.innerHTML +=
来添加新元素。这将销毁并重新创建现有元素:元素被序列化为HTML,然后连接字符串以添加新的HTML,在分配之后,浏览器必须解析HTML以再次创建DOM元素。在此过程中,所有数据都将丢失。
请改用DOM操作方法。即用document.createElement
创建元素,并用Node.appendChild
添加它们。
使用.innerHTML
覆盖现有内容或首次初始化元素是可以的。但使用它来将元素添加到现有元素可能会导致问题(如上所述),因此在这种情况下最好避免。
示例:
function addInput() {
var boxName="textBox"+countBox;
var input = document.createElement('input');
input.id = input.name = 'option'+countBox;
var parent = document.getElementById('responce');
parent.appendChild(document.createElement('br'));
parent.appendChild(input);
// create/add other elements...
countBox += 1;
}
或者两者兼而有之:
function addInput() {
var boxName="textBox"+countBox;
var container = document.createElement('div');
container.innerHTML = '<input type="radio" name="choices" value="o'+countBox+'" id="o'+countBox+'"/><label>Option '+countBox+':</label> <input type="text" id="option'+countBox+'" name="option'+countBox+'"" placeholder="Enter here..." />';
document.getElementById('responce').appendChild(container);
countBox += 1;
}
相关文章:
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 离开页面导航后保留文本区域内容
- 在文本区域中保留换行符.value
- 在文本中保留撇号
- 单击提交按钮后如何保留文本框值
- 防止Javascript注入(但保留文本格式和图像)
- Jquery:如何在保留文本的同时打开字符串的所有span标记
- 替换*variable*文本,但保留大小写
- 用javascript更改文本并保留src
- 通过javascript保留文本区域换行符
- 使用链接截断html中的文本以显示更多/更少并将元素保留在里面
- 如何在文本节点中保留空格
- 键入时保留占位符的文本输入
- 如何从保留换行符的 window.prompt() 返回文本
- 保留单击其单选按钮的文本框的值
- 使用 javascript 动态更改文本时保留 CSS
- 如何使文本在重新加载后保留
- 提交后,将用户输入文本保留在输入框中
- 将所选文本保留在输入焦点上