Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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 - Fatal编程技术网

Javascript 如何在单击时从错误类中删除错误消息

Javascript 如何在单击时从错误类中删除错误消息,javascript,jquery,Javascript,Jquery,我的表单中有4个字段。姓名、年龄、起止日期。姓名和年龄属于错误类别(errror1),起始和终止属于错误类别(error2) JS HTML :姓名 :年龄 :来自 :至 我的要求是,当我单击“姓名”字段时,“发件人”字段中的错误消息只应消失。现在“从”和“到”字段消息都消失了。我该如何实现这一点 替换此代码: $("#name1").click(function() { $("#form1").find($(".error2")).eq(0).hide(); $(".error2").

我的表单中有4个字段。姓名、年龄、起止日期。姓名和年龄属于错误类别(errror1),起始和终止属于错误类别(error2)

JS

HTML


:姓名
:年龄
:来自
:至
我的要求是,当我单击“姓名”字段时,“发件人”字段中的错误消息只应消失。现在“从”和“到”字段消息都消失了。我该如何实现这一点

替换此代码:

$("#name1").click(function() {
 $("#form1").find($(".error2")).eq(0).hide();
 $(".error2").removeClass("error");
});

请看以下内容

据我所知,您希望在另一个字段上隐藏验证。您可以通过其id获取该字段,并找到作为同级的错误标签

$("#name1").click(function() {
 $("#from1").siblings('.error').hide();
});
如果您想要更通用的解决方案,可以使用数据属性

以下是一个例子:

向要从中执行操作的输入字段添加描述性数据属性

<input name="Name" id="name1" data-hide-error-on="#from1"/>:name
此外,我还建议您在父div上设置类的错误标签样式。因为按照您的方式进行操作时,您将在第二次提交时丢失样式

<div class="green-errors">
    <input name="Name" id="name1" data-hide-error-on="#from1"/>:name
</div>

看这个。

这是您使用的
。改为使用
id
。发布您的html代码。然后我们可以根据您的DOM结构通过jquery对其进行操作..:name:age:from:to included JSFIDLE TOOTH通用数据属性解决方案还有一个额外的好处,即能够不引人注目地定义多个要隐藏的目标。只需传入一个有效的选择器。通过在=“#from1,#to1”上将data属性更改为data hide error,可以轻松地隐藏from和to错误
$("#name1").click(function() {
 $("#from1").siblings('.error').hide();
});
<input name="Name" id="name1" data-hide-error-on="#from1"/>:name
$('input[data-hide-error-on]').click(function() {
    var inputToHide = $(this).data('hide-error-on');
     $(inputToHide).siblings('.error').remove();
});
<div class="green-errors">
    <input name="Name" id="name1" data-hide-error-on="#from1"/>:name
</div>
.green-errors label.error {
    color: green;
}