Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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对不同的id使用相同的函数';s_Javascript_Html_Input_Dom Events - Fatal编程技术网

JavaScript对不同的id使用相同的函数';s

JavaScript对不同的id使用相同的函数';s,javascript,html,input,dom-events,Javascript,Html,Input,Dom Events,我有一个带有几个日期字段的表单。这些日期字段是实际的文本字段,因为我想从一开始就控制日期结构 我正在寻找一个格式化程序在线自动插入-(破折号)之间的结构。但我对JavaScript的了解非常有限。我尝试过使用类选择器,但似乎根本不起作用 var date=document.getElementsByClassName('date'); 然后我在输入文本字段中添加了一类日期 我(正在努力)处理这个问题 任何帮助都将不胜感激。如果可能的话,请告诉我您为什么要以特定的方式处理它,以便我可以从您的

我有一个带有几个日期字段的表单。这些日期字段是实际的文本字段,因为我想从一开始就控制日期结构



我正在寻找一个格式化程序在线自动插入-(破折号)之间的结构。但我对JavaScript的了解非常有限。我尝试过使用类选择器,但似乎根本不起作用

var date=document.getElementsByClassName('date');
然后我在输入文本字段中添加了一类日期

我(正在努力)处理这个问题


任何帮助都将不胜感激。如果可能的话,请告诉我您为什么要以特定的方式处理它,以便我可以从您的经验中学习。

在您共享的链接中,他们正在
将该函数应用于单个
元素,因为他们是通过
id
获得该函数的

在您的例子中,您试图通过它的
类获取它。在这种情况下,它将不起作用,因为
日期
变量将包含
元素的
集合
,因此您需要循环此集合,以便将事件侦听器正确地添加到每个
元素

您的代码应该如下所示:

var dates = document.getElementsByClassName('date');

Array.from(dates).forEach(function(element) {
  element.addEventListener('input', inputFunction);
  element.addEventListener('blur', blurFunction);
});
注意:

我为两个
事件制作了两个函数,您只需将代码分别放在这两个函数的链接中的eventlisteners中:

function inputFunction(e) {
   //The input event code will be here
   ...
}

function blurFunction(e) {
   //The blur event code will be here
   ...
}

在您共享的链接中,他们通过
id
获取函数时,将
函数应用于单个
元素

在您的例子中,您试图通过它的
类获取它。在这种情况下,它将不起作用,因为
日期
变量将包含
元素的
集合
,因此您需要循环此集合,以便将事件侦听器正确地添加到每个
元素

您的代码应该如下所示:

var dates = document.getElementsByClassName('date');

Array.from(dates).forEach(function(element) {
  element.addEventListener('input', inputFunction);
  element.addEventListener('blur', blurFunction);
});
注意:

我为两个
事件制作了两个函数,您只需将代码分别放在这两个函数的链接中的eventlisteners中:

function inputFunction(e) {
   //The input event code will be here
   ...
}

function blurFunction(e) {
   //The blur event code will be here
   ...
}

“我尝试使用类选择器”…请a)显示您尝试的内容,b)显示多个日期字段,以便我们进行比较。上面的示例和代码笔都只包含一个日期字段,因此它不反映实际导致问题的场景。更改了我的问题。没有太多额外的信息添加在这个。但是如果可以的话,“我尝试使用类选择器”…请a)显示您尝试的内容,b)显示多个日期字段,以便我们可以比较它们。上面的示例和代码笔都只包含一个日期字段,因此它不反映实际导致问题的场景。更改了我的问题。没有太多额外的信息添加在这个。但是如果它能帮上忙的话。可能应该添加如何将函数命名为inputFunction/blurFunction@user120242通常它是清楚的,但我用一个小例子做了一个编辑。这对我来说是清楚的。谢谢你的帮助perfectly@Pieter-Jancatels很好,很高兴它有帮助:)可能应该添加如何将函数命名为inputFunction/blurFunction@user120242通常它是清楚的,但我用一个小例子做了一个编辑。这对我来说是清楚的。谢谢你的帮助perfectly@Pieter-Jancastels很好,很高兴有帮助:)