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">
$(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如何识别保存浏览器的用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章