2012-02-10 22 views
0

私は2つのテキストボックス、1つはURL用、もう1つはLDAP用です。ユーザーが拡張機能のアイコンをクリックするたびに、ポップアップページが開き、私は次のコードの助けを借りて、現在のページのURLと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"); 
+0

フォーカスする前に、あなたのldap変数の値は何ですか()? –

+0

LDAPテキストボックスは空白です。 –

+0

それはどういう意味ですか?変数には何が入っていますか?それは未定義ですか、それともオブジェクトですか? –

答えて

0

これで解決策が見つかりました。私は、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> 
関連する問題