如何用document.createElement(“input”)方法使输入文本字段动态扩展
How to make input text field dynamic expending with document.createElement("input") method?
这是我对这个很棒的社区的第一个问题。
我正在使用这个javascript代码来构建一个动态表:
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name = "chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
element2.onkeypress = "this.style.width = ((this.value.length + 1) * 8) + 'px'";
cell2.appendChild(element2);
}
和下面的html代码打印它:
<table id="dataTable" style="width: 300px;" border="0">
<tr>
<td ><input type="checkbox" name="chk" /></td>
<td <input id="txt" type="text" onkeypress="this.style.width = ((this.value.length + 1) * 8) + 'px';"> </td>
</tr>
</table>
我的问题是-我希望我的文本输入字段是动态扩展的,但由于使用了'document.createElement("input");'在Javascript中,只有第一个文本输入字段动态消耗其余
您可以定义您的扩展函数并在以后重用它,如下所示:
expandTextBox = function (tb) {
tb.style.width = ((tb.value.length + 1) * 8) + 'px';
}
当你创建元素时:
var element2 = document.createElement("input");
element2.onkeypress = function() { expandTextBox(element2); };
在html:中
<input id="txt" type="text" onkeypress="expandTextBox(this)">
请参阅Fiddle
在javascript中向动态创建的元素添加事件时,必须将事件代码定义为function
,而不是字符串!因此,将您的addRow函数修改为:
...
element2.onkeypress = function(){this.style.width = ((this.value.length+1)*8)+'px'};
相关文章:
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 为什么控制台没有't使用输入的对象's的`toString`方法
- 是否有一种方法可以使用公共代码库在Java和JavaScript中进行输入验证
- 当输入字段为空时,如何在angular中调用方法
- 我能从“;输入“;事件是否有更好的方法来跟踪文本更改
- 不使用自定义CSS或HTML(使用框架方法)的角度材质文本输入或文本区域标签大小
- 使用JavaScript验证用户交互/输入-这是一种很好的方法
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 如何从该文本的 onclick 方法中更改 d3.js 文本输入
- 有没有什么方法可以通过输入字段(type=file)来找出选择了多少个文件
- 在jquery中,从同一对象的属性设置输入字段和标签的正确方法是什么
- JavaScript 表单操作更改RC方法发布文本输入提交
- get没有方法“writefile”,即使输入是一个字符串
- 在输入类型提交按钮上调用 C# 方法
- Javascript - 以编程方式执行所有函数输入的方法
- 当输入值已更改时,html() 方法错误
- 如何用document.createElement(“input”)方法使输入文本字段动态扩展
- 什么'是使输入上禁用的属性与Meteor辅助对象反应的最佳方法
- JavaScript:格式化输入方法会给出错误的值
- 一种在javascript上获得具有两个输入(字符串)的散列键的方法