Javascript 如何在动态生成的html表中从一个文本框到另一个文本框获取数据?
下面是我的代码。在该代码中,当我在txtbox中输入3并单击“复制”时,相同的表将生成3次。如果我在txtbox 1和2中输入name和id,然后单击get data,那么它将被设置为txtbox 3和4。它仅适用于第一个表。问题是它不能与动态表一起工作。帮帮我!! 代码如下:Javascript 如何在动态生成的html表中从一个文本框到另一个文本框获取数据?,javascript,html,css,Javascript,Html,Css,下面是我的代码。在该代码中,当我在txtbox中输入3并单击“复制”时,相同的表将生成3次。如果我在txtbox 1和2中输入name和id,然后单击get data,那么它将被设置为txtbox 3和4。它仅适用于第一个表。问题是它不能与动态表一起工作。帮帮我!! 代码如下: 函数copytbl(){ varⅠ,j; j=document.getElementById(“txtbox”).value; 对于(i=0;i31&(字符码57)){ 返回false; } 返回true; } 表格,
函数copytbl(){
varⅠ,j;
j=document.getElementById(“txtbox”).value;
对于(i=0;i31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
表格,
运输署{
边框:1px纯黑;
边界塌陷:塌陷;
高度:90px;
文本对齐:左对齐;
}
tr.nobordtd{
右边框样式:隐藏;
左边框样式:隐藏;
}
复制
标题
名称
年龄
性
名称:
身份证:
男性
女性
页脚
获取数据
名称:
身份证:
您需要将正在使用的id
更改为类
。然后将生成的新tbody
id解析到getdata
函数中
演示
函数copytbl(){
varⅠ,j;
j=document.getElementById(“txtbox”).value;
对于(i=0;i31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
这是因为您有多个相同ID的迭代。您正在克隆html及其所有ID。你需要克隆html,然后重新分配id'sam一个初学者我不知道怎么做。请给出一些例子我已经很快为你准备了一个例子。我试过了,但它对我不起作用。我是一个初学者,我不知道怎么做。请给出一些例子。如果这不能解决你的问题,你为什么把这个答案标记为接受?另外,要更具体一些。“这对我没用”到底是什么意思?
function copytbl() {
var i, j;
j = document.getElementById("txtbox").value;
for (i = 0; i < j - 1; i++) {
var newId = "newID-"+(document.querySelectorAll('.tblbdy-ele').length+i);
var row = document.getElementById("tblbdy"); // find row to copy
var table = document.getElementById("tbl"); // find table to append to
var clone = row.cloneNode(true); // copy children too
clone.id = newId; // change id or other attributes/contents
table.appendChild(clone); // add new row to end of table
var getDataBtn = document.getElementById(newId).getElementsByClassName("getDataBtn")[0]
getDataBtn.onclick = function() {
getdata(newId);
};
}
}
function getdata(id) {
var table = document.getElementById(id);
document.getElementById(id).getElementsByClassName("txtbox3")[0].value = document.getElementById(id).getElementsByClassName("txtbox1")[0].value;
document.getElementById(id).getElementsByClassName("txtbox4")[0].value = document.getElementById(id).getElementsByClassName("txtbox2")[0].value;
}
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}