从JavaScript中的每一行获取输入值
这段代码工作得很好,但是我如何用纯JavaScript编写这段代码呢?我主要感兴趣的是:在没有jQuery的情况下如何执行这些任务 对于每一行,找到以6#if(我想要的列)结尾的输入名称 在回车时,获取这个输入值并将其添加到控制台,这样我就知道它在那里了从JavaScript中的每一行获取输入值,javascript,jquery,html,Javascript,Jquery,Html,这段代码工作得很好,但是我如何用纯JavaScript编写这段代码呢?我主要感兴趣的是:在没有jQuery的情况下如何执行这些任务 对于每一行,找到以6#if(我想要的列)结尾的输入名称 在回车时,获取这个输入值并将其添加到控制台,这样我就知道它在那里了 如果您可以在wich上共享一段HTML,那就太好了,我们可以尝试一些东西,但目前,您的代码是用纯JS编写的: input id = "grid#21.125#1,6#if" type="text" val
如果您可以在wich上共享一段HTML,那就太好了,我们可以尝试一些东西,但目前,您的代码是用纯JS编写的:
input id = "grid#21.125#1,6#if" type="text" value"" name="grid#21.125#1,6#if
oninput = shortDescription(this);
如果对querySelectorAll
不满意,可以使用getElementsByTagName
,它会返回一个节点列表,您可以使用数组将其转换为数组。从方法和名称上的使用过滤器
查找名称包含“6#If”的输入
最佳实践。。。
由于ID是唯一的,并且方法getElementsByTageName
或getElementsByTageName
返回a,因此最好将这些元素用作唯一变量,这样就不会要求浏览器多次获取它们。
因为我不知道元素的含义,所以我将用简单的名称命名变量,下面是一个更好的代码版本:
var descriptionInput;
var tbl = document.getElementById('21.125-mrss-cont-none-content')
Array.from(tbl.getElementsByTagName('tr')).forEach(function(tr) {
Array.from(tr.querySelectorAll("input[name$='6#if']")).forEach(function(input) {
input.onkeypress = function(e) {
if (e.keyCode == 13) {
descriptionInput = input.value;
input.value = descriptionInput; // why ??
document.getElementById('__AGIM0:U:1:4:2:1:1::0:14').value = descriptionInput;
}
console.log(descriptionInput);
}
});
});
我没试过,希望没问题
希望有帮助,
致以最诚挚的问候,您有没有我们可以用来编写演示的HTML示例?我添加了部分输入元素和函数调用。您可以用任何东西替换表ID,我知道它是有效的。我只是想知道如何在没有jQuery的情况下执行相同的任务。再次感谢您提供的信息。也许你也可以看看这个:)?
var descriptionInput;
var tbl = document.getElementById('21.125-mrss-cont-none-content')
Array.from(tbl.getElementsByTagName('tr')).forEach(function(tr) {
Array.from(tr.querySelectorAll("input[name$='6#if']")).forEach(function(input) {
input.onkeypress = function(e) {
if (e.keyCode == 13) {
descriptionInput = input.value;
input.value = descriptionInput; // why ??
document.getElementById('__AGIM0:U:1:4:2:1:1::0:14').value = descriptionInput;
}
console.log(descriptionInput);
}
});
});
var descriptionInput;
var tbl = document.getElementById('21.125-mrss-cont-none-content');
var tr1 = tbl.getElementsByTagName('tr');
var el1 = document.getElementById('__AGIM0:U:1:4:2:1:1::0:14');
var inputsInTr = Array.from(tr1).map(function(tr) {
return Array.from(tr.getElementsByTagName('input'));
}).reduce(function(pv, cv) {
return pv.concat(cv);
});
var myInputs = inputsInTr.filter(function(input) {
return input.name.indexOf('6#if') != 0;
});
myInputs.forEach(function(input) {
input.onkeypress = function(e) {
if (e.keyCode == 13) {
descriptionInput = input.value;
el1.value = descriptionInput;
}
console.log(descriptionInput);
}
});