我有两个输入:第一个是 X - 文件上传。第二个是 Y - URL 的输入。
到目前为止,我有一个代码检查 Y 是否有效,然后删除 X 所需的属性。否则我希望需要 X。
$(Y).blur(function(){
if ($(this).is(':valid') == true) {
$(X).removeAttr('required')
} else if ($(this).is(':valid') == false) {
$(X).attr('required');
}
});
出于某种原因,当输入 Y 有效时,此代码会起作用,它会删除该属性。但假设用户后悔并希望将 Y 留空,它不会返回 X 所需的属性。
尽力使解释尽可能简单明了。如果存在误解,我会尝试编辑此问题并使其更清楚。
最佳答案
最简单的方法是:
$(Y).blur(function(){
if ($(this).is(':valid') == true && $(this).val() != '') {
$(X).removeAttr('required')
} else if ($(this).is(':valid') == false || $(this).val() == '') {
$(X).attr('required');
}
});
在这种情况下,当用户删除内容时,必需的属性将被返回(不要忘记添加 trim 功能,我没有在示例中使用它)。
我建议将此逻辑封装到验证函数中。我也不喜欢模糊事件(可用性很差),我建议使用 onchange 事件进行字段验证。
关于javascript - jQuery - 两个输入的简单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817347/