javascript - jQuery - 两个输入的简单验证

标签 javascript jquery forms

我有两个输入:第一个是 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/

相关文章:

javascript - 使用 window.onload 提交表单

javascript - 将输入添加到 html 表单,使用 javascript

javascript - 以 this 作为参数的复选框开关不会保存更改 .checked 值

javascript - 显示延迟的网络摄像头/摄像头流 - webrtc

javascript - 将 Window Onload 函数转换为非阻塞

javascript - jQuery 验证按钮样式在提交时更改

javascript - 使用 jquery 从底部偏移背景

javascript - 无法检测到 Chrome Android 中的网页滚动结束

javascript - 具有附加 json 形式的多部分

Javascript - 使用 Javascript 生成 HTML 元素时,放大的弹出窗口不起作用