jquery - 如果键入 @ 符号,则表单验证更改 CSS

标签 jquery html css

目前我正在配置一个带有验证的表单。一切顺利。但我试图让 CSS 在用户输入 @ 符号时发生变化。此时,当用户使用以下代码输入超过 4 个字符时,CSS 会发生变化:

$(document).ready(function() {
    $('#Emailinput').keyup(function() {
        var count = this.value.replace(/ /g, '').length;
        var imageUrl = 'https://example.nl/wp-content/themes/example/img/check.png';
        var imageUrlcls = 'https://example.nl/wp-content/themes/example/img/close.png';
        $('#Emailinput').text(count);

        if (count >= 4) {
            $('#Emailinput').css({
                'border-color': '#c1c1c1',
                'background-image':'url( '+ imageUrl + ' )',
                'background-repeat':'no-repeat',
                'background-position': '98%'
            });            
        } else {
            $('#Emailinput').css({
                'border-color': 'red',
                'background-image':'url( '+ imageUrlcls + ' )',
                'background-repeat':'no-repeat',
                'background-position': '98%'
            });
        }
    });
});

现在我想将 count 更改为输入 @ 符号时的事件。我到处都看到了这段代码:

if ($('#email').val().indexOf('@') > -1) {

所以我把代码改成了:

$(document).ready(function() {
    $('#Emailinput').keyup(function() {
        var count = this.value.replace(/ /g, '').length;
        var imageUrl = 'https://example.nl/wp-content/themes/example/img/check.png';
        var imageUrlcls = 'https://example.nl/wp-content/themes/example/img/close.png';
        $('#Emailinput').text(count);

        if ($('#Emailinput').val().indexOf('@') > -1) {
            $('#Emailinput').css({
                'border-color': '#c1c1c1',
                'background-image':'url( '+ imageUrl + ' )',
                'background-repeat':'no-repeat',
                'background-position': '98%'
            });            
        } else {
            $('#Emailinput').css({
                'border-color': 'red',
                'background-image':'url( '+ imageUrlcls + ' )',
                'background-repeat':'no-repeat',
                'background-position': '98%'
            });
        }
    });
});

任何帮助,让 CSS 在输入 @ 符号时发生变化?我是否将找到的代码放在了正确的位置?任何帮助,将不胜感激。

最佳答案

我认为您的代码已经可以工作了,see it here

JS

$(document).ready(function() {
    $('#Emailinput').keyup(function() {
        var count = this.value.replace(/ /g, '').length;
        var imageUrl = 'https://example.nl/wp-content/themes/example/img/check.png';
        var imageUrlcls = 'https://example.nl/wp-content/themes/example/img/close.png';
        $('#Emailinput').text(count);

        if ($('#Emailinput').val().indexOf('@') > -1) {
            $('#Emailinput').css({
                'border-color': 'green',
                'border-width': '5px',
                'background-image':'url( '+ imageUrl + ' )',
                'background-repeat':'no-repeat',
                'background-position': '98%'
            });            
        } else {
            $('#Emailinput').css({
                'border-color': 'red',
                'background-image':'url( '+ imageUrlcls + ' )',
                'background-repeat':'no-repeat',
                'background-position': '98%'
            });
        }
    });
});

关于jquery - 如果键入 @ 符号,则表单验证更改 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42901589/

相关文章:

javascript - 为表中选定的行设置唯一 ID 以存储在 localStorage 中

javascript - Mithril ajax 发送空输入

javascript - getJSON 错误 - 不确定我哪里出错了

html - PDF 作为 HTML 中的空白页

javascript - 将图像集成到 IMDb 中的电影标题建议自动完成

javascript - 如何使用 Javascript 将 JSON 响应输出附加到 html 表中

html - 将段落右侧 float 部分的文本向左对齐

html - CSS Grid - 当元素太大时使类似表格的网格溢出

asp.net - 是否可以更改 anchor 标记的 css 属性

css - 带 div(宽度 :auto) in a div(width:auto)