浏览器(chrome、firefox)jquery .val() 不适用于自动填充输入字段(用户名、密码)

2024-01-01

仅当长度不为 0 并且用户名和密码不为空等情况下,才会执行此代码以启用登录按钮。这很好用。但是,如果我将登录凭据保存在浏览器中并且访问该网站并看到字段已预先填充,则 .val() 函数似乎不会返回值。如果我按任意键,登录按钮就会启用。所以“初始化登录按钮状态”功能似乎不起作用。预填充字段对 jquery 可见吗?

希望你能理解我^^ 谢谢你!

    ready: function() {
        var view = this;
         //setup subViews
        view.setupSubs();
         //Initialize state of login button
        view.onKey();
    },
    "onKey": function(event) {
        var view = this,
            nickname = view.$('#nickname').val(),
            password = view.$('#password').val();

        if (!nickname || !password || nickname.length === 0 || password.length < 8) {
            view.$(':submit').attr('disabled', 'disabled');
        } else {
            view.$(':submit').removeAttr('disabled');
        }
    },

注意:这仅涵盖 Chrome。

我最近在水印控件方面遇到了类似的问题。 Chrome 中自动填充密码输入的“值”在 JavaScript 中显示为空白。我假设这是谷歌的某种安全插件。所以你无法获取javascript中的值,但你可以测试是否有is一个值。

Chrome 有一个 CSS 选择器改进,称为-webkit-自动填充。您可以使用 JQuery 进行选择。这给了我们测试:

var hasHiddenValue = view.$('#password:-webkit-autofill').length > 0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浏览器(chrome、firefox)jquery .val() 不适用于自动填充输入字段(用户名、密码) 的相关文章

随机推荐