Где вы пишете этот JavaScript? Вы должны убедиться, что DOM загружен:
window.onload = function() {
var txtBox = document.getElementById("Email");
if (txtBox != null) {
txtBox.focus();
}
};
Также HTML-помощники могут генерировать разные идентификаторы в зависимости от контекста: например, если вы вызываете TextBoxFor
внутри шаблона редактора.
Сказав это, я не рекомендую вам это решение. Чтобы решить все эти проблемы, я обычно применяю класс css к текстовому полю:
<%=Html.TextBoxFor(
model => model.Email,
new { @class = "email", maxsize = "190" }) %>
где email
класс определяется следующим образом:
.email {
width: 190px;
border: 0;
}
, а затем используйте популярный javascript framework , чтобы установить фокус, когда DOM готов:
$(function() {
$('input.email').focus();
});