无法将焦点放在文本框上
问题描述:
我有一个Chrome扩展,其中有两个文本框,一个用于URL,另一个用于LDAP。每当用户点击扩展程序图标,弹出页面打开,我填与当前网页的网址URL文本框的下面的代码帮助:无法将焦点放在文本框上
function setValue()
{
var text = document.getElementById("url_textbox");
var ldap = document.getElementById("ldap_textbox");
chrome.tabs.getSelected(null, function(tab) {
text.value = tab.url;
ldap.focus();
});
}
声明ldap.focus()是不是在这里工作。我在页面加载时调用这个函数。
<body onload = "setValue();">
我能为此做些什么?
编辑:此语句从Id为ldap_textbox的文档中获取HTML元素。
var ldap = document.getElementById("ldap_textbox");
答
我刚刚找到了解决方案。我需要将焦点放在URL文本框下方的ldap文本框中,出于某种原因,在弹出页面中,默认焦点将转到第一个元素。所以,我将第一个元素改为ldap文本框。 :)
<script type="text/javascript">
function setValue()
{
var text = document.getElementById("url_textbox");
chrome.tabs.getSelected(null, function(tab) {
text.value = tab.url;
});
}
</script>
<html>
<body onload="setValue();">
<table>
<tr>
<td>LDAP</td><td><input type="text" id="ldap_textbox"/></td>
</tr>
<tr>
<td>URL</td><td><input type="text" id="url_textbox"/></td>
</tr>
</table>
</body>
</html>
在尝试focus()之前,您的ldap变量的值是多少? – 2012-02-10 10:11:13
ldap文本框为空。 – 2012-02-10 10:14:10
这是什么意思?变量中有什么?它是未定义的还是它是一个对象? – 2012-02-10 10:17:18