Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript中的每一行获取输入值_Javascript_Jquery_Html - Fatal编程技术网

从JavaScript中的每一行获取输入值

从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

这段代码工作得很好,但是我如何用纯JavaScript编写这段代码呢?我主要感兴趣的是:在没有jQuery的情况下如何执行这些任务

对于每一行,找到以6#if(我想要的列)结尾的输入名称

在回车时,获取这个输入值并将其添加到控制台,这样我就知道它在那里了


如果您可以在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);
  }
});