我的请求很简单,我有一个登录表单。我们在登录表单上有一个“保存用户名”选项。当页面加载时,如果用户名输入字段有值(他们已保存其用户名),我想在密码输入而不是用户名输入上自动对焦。
以下是我目前使用的jQuery无效:
$(document).ready(function() {
if($('#username').val() != ''){
$('#p').focus();
}
});
目前没有任何反应,没有控制台错误,#username输入保持聚焦或突出显示。
关于如何关注输入字段的任何想法,以便用户可以自动开始在那里打字?
答案 0 :(得分:1)
将其从$(document).ready()
中删除,使用:
$(window).load(function() {
if($('#username').val() != ''){
$('#p').focus();
}
});
答案 1 :(得分:0)
问题解决了。感谢plalx指出时间问题。
我需要将脚本包装在"设置超时"功能。以下是最终的工作脚本。
$(document).ready(function() {
if($('#username').val() != ''){
setTimeout(function () {
$('#p').focus();
}, 50);
}
});
答案 2 :(得分:0)
这是您的代码
var saveduser="piyush"; //get username from saved fields
$(window).ready(function(){
if(saveduser!="")
{
$("#user").val(saveduser);
$("#pass").focus();
}
});
这是我创造的小提琴
http://jsfiddle.net/piyushkmr/86XxN/1/
您可以使用javascript cookies或php将变量saveduser
设置为用户名。