Where are you writing this javascript? You need to make sure that the DOM is loaded:
window.onload = function() {
var txtBox = document.getElementById("Email");
if (txtBox != null) {
txtBox.focus();
}
};
Also HTML helpers might generate a different ID depending on the context: for example if you are calling the TextBoxFor
inside an editor template.
Having said this it is not the solution I would recommend you. To solve all those problems I usually apply a css class to the textbox:
<%=Html.TextBoxFor(
model => model.Email,
new { @class = "email", maxsize = "190" }) %>
where email
class is defined like this:
.email {
width: 190px;
border: 0;
}
and then use a popular javascript framework to set the focus when the DOM is ready:
$(function() {
$('input.email').focus();
});