Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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监视表单字段并设置会话cookie_Javascript - Fatal编程技术网

JavaScript监视表单字段并设置会话cookie

JavaScript监视表单字段并设置会话cookie,javascript,Javascript,我有点生疏了,因为我已经很久没有使用JavaScript了。我想查看表单中mouseout事件的所有输入字段,并设置一个会话cookie来存储该值。是否有一种简洁的方法可以做到这一点,这样我就可以查看表单中的所有表单字段,并且避免一次只查看一个字段-我预计可能会有大量字段,因此我希望有一种有效的方法来定位它们 假设我的表格是: <form action="#"> <input id="form1_name" name="name" class="s_input" req

我有点生疏了,因为我已经很久没有使用JavaScript了。我想查看表单中mouseout事件的所有输入字段,并设置一个会话cookie来存储该值。是否有一种简洁的方法可以做到这一点,这样我就可以查看表单中的所有表单字段,并且避免一次只查看一个字段-我预计可能会有大量字段,因此我希望有一种有效的方法来定位它们

假设我的表格是:

<form action="#">
    <input id="form1_name" name="name" class="s_input" required="required" type="text">
    <input id="form1_email" name="email" class="s_input" required="required" type="text">
    <textarea id="form1_message" name="message" class="s_input" cols="30" rows="4" required="required"></textarea>
    <input id="form1_submit" name="submit" class="s_input" value="Send" type="submit">
</form>
我得到一个错误:

TypeError:inputFields.addEventListener不是函数[了解更多信息]


document.getElementsByClassName('s_input')
创建一个数组,以便向类的每个元素添加任何内容
s\u input
您需要在集合上循环

像这样的方法应该会奏效:

for (i = 0; i < inputFields.length; i++) { 
   inputFields[i].addEventListener("mouseleave", function( event ) {  
    //event code here 
   });
}

就我个人而言,我会使用Knockout JS和textInput绑定来实现这一点,并让它担心是否正确;你需要反复讨论这个问题,并对每个项目分别调用addEventListener。@Whelkaholism谢谢,我从未见过敲除。我来看看@Doidge你不需要整个图书馆来做这件事。你离它工作还有一行代码。顺便问一句,您确定要在输入字段上检测mouseleave吗?如果您试图检测值更改,请使用
.addEventListener(“输入”,函数…
for (i = 0; i < inputFields.length; i++) { 
   inputFields[i].addEventListener("mouseleave", function( event ) {  
    //event code here 
   });
}
 <input onblur="callYourFunction()" id="form1_name" name="name" class="s_input" required="required" type="text">