jquery如何识别保存浏览器的用户名和密码

Posted

技术标签:

【中文标题】jquery如何识别保存浏览器的用户名和密码【英文标题】:How to identify save browser username and password in jquery 【发布时间】:2016-08-04 08:52:39 【问题描述】:

当用户名或密码为空时,我需要禁用登录按钮。

请在下面找到代码:

$(document).ready(function()

    $('input').on('keyup  blur mouseenter', function(e) 


       if($("#userName").val().length!==0 && $.trim($('#userName').val()) !== '' && $("#password").val().length!==0 && $.trim($('#password').val())!== '')

            $('#submitLogin').attr('disabled',false);
        
    );
);

请在jsp页面下方找到提交输入:

 <input class="button" name="submit" type="submit" id ="submitLogin"value="Login" disabled="true" ></div>

如上所示,我设法在 jquery 中做到这一点,但我的问题是浏览器保存的用户名和密码。

那是用户第一次登录应用程序浏览器时要求用户保存用户名和密码,用户点击是。

所以一旦用户名/密码被保存,下次用户打开登录页面时,用户名和密码已经填写,但登录按钮仍然被禁用。

这是禁用的,因为即使输入的用户名/密码已经填写,当它调用jquery方法时,两个输入文本的值都是空的。

但是,当用户再次单击时,用户名和密码将被初始化并启用 submitLogin。

知道如何在第一次加载页面时获取保存的用户名和密码的值,以便启用登录输入吗?

提前感谢您的帮助。

【问题讨论】:

如果将匿名函数设为命名函数并在document.ready() 中调用它会发生什么?这意味着您像现在一样在值更改时运行该函数,并且在页面加载开始时运行一次。 【参考方案1】:

尝试$.removeAttr()$.change() 并像这样使用输入input class="button" name="submit" type="submit" id="submitLogin" value="Login"&gt;

$(document).ready(function() 

  if ($("#userName").val().length !== 0 && $.trim($('#userName').val()) !== '' && $("#password").val().length !== 0 && $.trim($('#password').val()) !== '') 

    $('#submitLogin').removeAttr('disabled');
   else 
    $('#submitLogin').attr('disabled', "");
  

  $('input').on('change keyup  blur mouseenter ', function(e) 


    if ($("#userName").val().length !== 0 && $.trim($('#userName').val()) !== '' && $("#password").val().length !== 0 && $.trim($('#password').val()) !== '') 

      $('#submitLogin').removeAttr('disabled');
     else 
      $('#submitLogin').attr('disabled', "");
    

  );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<input type='text' id='userName' />
<input type="password" id="password"/>
<input class="button" name="submit" type="submit" id="submitLogin" value="Login">

【讨论】:

您好,我添加了 $.removeAttr() 并且在加载时它正在工作,但是当用户登录并单击注销时,尽管填写了用户名和密码,但仍会重定向到登录页面,提交按钮是禁用,有什么提示吗? 工作正常,下次我不会在 hmtl 中定义禁用,而是让 jquery 处理它【参考方案2】:

    $(document).ready(function()

        $('input').on('keyup blur mouseenter', function(e) 

            if($.trim($('#userName').val()) && $.trim($('#password').val()))

                $('#submitLogin').prop('disabled',false);
            
        );
    );
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="//cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>
</head>
<body>
<input id="userName">
<input id="password">
<input class="button" name="submit" type="submit" id ="submitLogin"value="Login" disabled="disabled" ></div>
</body>
</html>

【讨论】:

attr 和 prop 都可以,但我建议 prop 设置为 disabled。 欢迎来到 SO。感谢您回答一个问题。请记住,一个好的答案包含对 OP 应该做什么的解释。这有助于 OP 和未来的成员在类似问题上寻找答案

以上是关于jquery如何识别保存浏览器的用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

jquery 防止自动填充表单

如何修改以前登录过的共享文件夹的用户名和密码以及查看或删除浏览器里保存的密码

如何从 Firefox 中捕获选择的已保存用户名密码

如何保存网页的登陆密码!!!

浏览器如何知道何时提示用户保存密码?

如何让浏览器提示保存密码?