检测文档准备好的自动填充值

时间:2012-06-07 14:06:04

标签: jquery google-chrome pageload autofill

我有一个登录页面,我试图切换按钮的显示,以允许用户修改他们的角色(从他们用户的可用角色列表中选择)。

我最初隐藏按钮并在$("#txtUsername").blur()上显示。

我的问题:有没有办法获取Chrome自动填充值?

如果我尝试在准备好文档时触发它,则该值为空,并且按钮不显示。

$(function () {
    $("#btnRoles").hide();
    $("#txtUsername").blur(function () {
        if ($(this).val()) $("#btnRoles").show();
        else $("#btnRoles").hide();
    }).trigger("blur");
});

但是文本框然后通过自动填充填充。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

这将是一个安全威胁:

  

可悲的是,作为安全功能,JavaScript无法访问自动完成输入数据,而是返回空字符串,除非按下了提交按钮(alert(document.loginform.user_logon.value)将无效)。

source

答案 1 :(得分:1)

在页面加载后,我找不到任何具体的值来读取值。我最后使用$("#txtUsername").trigger("focus")强制关注文本框,因此当用户执行任何操作时,它会调用.blur()并填写角色。

答案 2 :(得分:0)

嗯...如果您刚刚在autocomplete="off"输入中添加了#txtUsername属性,该怎么办?