2012-02-03 99 views
2

我有以下HTML:的document.getElementById()對焦()返回undefined

<input type="text" id="endDateEditBox" value="" style="margin-left:5px; height:18px; width:70px; vertical-align:middle;" onchange="validateDate('endDateEditBox', $(dateFormatErrorString).value)"> 

,我試圖使用下面的JavaScript,使這個重點:

document.getElementById("endDateEditBox").focus(); 

的Chrome瀏覽控制檯和Firebug都是未定義的。我覺得我錯過了一些非常明顯的東西,任何人都可以幫忙嗎?

回答

19

focus()方法不返回一個值。它將注意力集中在匹配的輸入上,然後返回undefined ...

+5

好非常感謝這一點。需要注意的是,如果你從控制檯運行這個,那麼輸入實際上並不集中,這就是爲什麼未定義的返回令我困惑。 – Fraser 2012-02-06 09:26:06

1

JavaScript本地焦點函數不返回任何內容。

如果您希望收到該元素並將其用於串聯,則可能會將其與jQuery's focus function混淆。

0

試試這個代碼:

<html> 
<head> 

<script type="text/javascript"> 
function setFocus() 
{ 
    document.getElementById("endDateEditBox").focus(); 
} 
</script> 

</head> 

<body onload="setFocus()"> 
    <form> 
     Date: <input type="text" id="endDateEditBox"><br /> 
    </form> 
</body> 

</html> 
+1

下次如果您不知道如何格式化某些內容,只需點擊文本字段上方的問號,然後點擊您想要了解的主題即可。看看http://stackoverflow.com/markdown#code – 2012-02-03 11:55:58