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