Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 jQuery验证脚本更正_Javascript_Jquery_Html_Validation - Fatal编程技术网

Javascript jQuery验证脚本更正

Javascript jQuery验证脚本更正,javascript,jquery,html,validation,Javascript,Jquery,Html,Validation,我制作了一个jQuery验证脚本来验证html中的两个input元素 $(函数(){ 函数需要验证(txt){ txt=$(txt); var errorblock='请输入有效的输入'; var isValid=true; if(jQuery.trim(txt.val())=''|| jQuery.trim(txt.val())==txt[0]。defaultValue || jQuery.trim(txt.val())==txt.attr('title')){ isValid=false;

我制作了一个jQuery验证脚本来验证html中的两个
input
元素

$(函数(){
函数需要验证(txt){
txt=$(txt);
var errorblock='请输入有效的输入';
var isValid=true;
if(jQuery.trim(txt.val())=''|| jQuery.trim(txt.val())==txt[0]。defaultValue || jQuery.trim(txt.val())==txt.attr('title')){
isValid=false;
txt.addClass(“错误”);
txt.parent().append(errorblock);
val(txt.attr('title'));
}否则{
removeClass(“错误”);
txt.parent().remove(errorblock);
}
返回有效;
}
$(“.newBtn”)。单击(函数(e){
e、 预防默认值();
如果(!requiredValidation(“.rqvalidate”)){
$(“.rqvalidate”).focus();
返回;
}
});
});


由于您的元素具有相同的类,您将在验证函数的
txt
中获得元素数组

因此,使用
for循环
$对它们进行迭代


然后它将只向具有错误值的元素显示消息。

在代码中,
txt
是一个包含一组匹配元素的jQuery对象。您需要迭代它,逐个检查每个元素,并在元素验证失败时中断循环

您可以使用
each()
函数迭代对象并返回false以中断循环

就这样

更新:

下面的代码

txt.parent().remove(errorblock);
将不工作,因为字符串errorblock不是有效的选择器

根据
remove()


你的问题不清楚。预期的行为是什么?如果有5个输入具有相同的类,同时根据您决定要验证的内容单击按钮?@TilwinJoy我不想验证所有具有类“rqvalidate”的输入,就我所见,这正是您共享的小提琴中发生的情况。。两个输入都有类
rqvalidate
,因此它们都得到验证。我错过了什么吗?@TilwinJoy是的。我希望该脚本分别验证每个输入。如果第一个输入的验证失败,我只想将规则应用于该输入,而不是第二个元素。JSFIDLE解决方案中存在一些错误,每次验证后,它都会将值重置为旧值,验证成功时不会删除错误消息,但仍然存在错误。错误消息被添加到第一个输入中only@Athul“如果第一个输入的验证失败,我只想将规则应用于该输入,而不是第二个元素”。你说这就是你想要的。上面的小提琴解决了你提到的问题。你应该正确地解释这个问题,以得到正确的结果。现在你在说别的话!抱歉,您的解决方案的问题是,它解决了我在问题中提出的问题,并在代码中创建了其他不存在的问题。这就是我上面告诉你的。