Javascript 如果用户名有值,则关注密码字段
我的要求很简单,我有一个登录表单。我们在登录表单上有一个“保存用户名”选项。当页面加载时,如果用户名输入字段有值(他们保存了用户名),我希望自动关注密码输入,而不是用户名输入 下面是我目前使用的jQuery,它不起作用:Javascript 如果用户名有值,则关注密码字段,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我的要求很简单,我有一个登录表单。我们在登录表单上有一个“保存用户名”选项。当页面加载时,如果用户名输入字段有值(他们保存了用户名),我希望自动关注密码输入,而不是用户名输入 下面是我目前使用的jQuery,它不起作用: $(document).ready(function() { if($('#username').val() != ''){ $('#p').focus(); } }); 目前什么
$(document).ready(function() {
if($('#username').val() != ''){
$('#p').focus();
}
});
目前什么都没有发生,没有控制台错误,#用户名输入保持焦点或突出显示
关于如何关注输入字段以便用户可以自动开始在那里键入内容,您有什么想法吗?问题解决了。感谢plalx指出时间问题 我需要将脚本包装在一个“设置超时”函数中。下面是最后的工作脚本
$(document).ready(function() {
if($('#username').val() != ''){
setTimeout(function () {
$('#p').focus();
}, 50);
}
});
var saveduser="piyush"; //get username from saved fields
$(window).ready(function(){
if(saveduser!="")
{
$("#user").val(saveduser);
$("#pass").focus();
}
});
这是我创作的小提琴
您可以使用javascript cookies或php将变量
saveduser
设置为用户名。将其从$(文档)中取出。ready()
,使用:
$(window).load(function() {
if($('#username').val() != ''){
$('#p').focus();
}
});
你准备好文件了吗?如果没有,就把它包起来,看魔术。你能在一个地方创造出一个可复制的小提琴,让我们看到它的作用吗?你说的“不工作”是什么意思?你预计会发生什么?会发生什么?我相信这是一个简单的时间问题<代码>焦点有时非常反复无常。试着给浏览器多一点时间
setTimeout(函数(){/*set focus*/},50)代码>元素是否可见?将其更改为window load.setTimeout是个坏主意。。。这是一个很好的解决方案,谢谢。这比我现在需要的要多,但做得很好。这是最好的解决方案。谢谢