2012-02-03 3 views
2

У меня есть следующий HTML:document.getElementById() фокус() возвращения неопределенные

<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(); 

Какого хромированной консоли и Firebug возвращаются как неопределенные. Я чувствую, что мне не хватает чего-то очень очевидного здесь, может ли кто-нибудь помочь?

ответ

19

focus() метод не возвращение a значение. Он устанавливает фокус на совпадающем входе, а затем возвращает undefined ...

+5

Ok спасибо за это. Следует отметить, что если вы запускаете это из консоли, то вход фактически не фокусируется, поэтому неопределенный возврат меня сбивает с толку. – Fraser

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 –

Смежные вопросы