我正在尝试将焦点设置在以下列方式生成的文本框上:
<%=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>
如何在 mvc 2 中将焦点设置到文本框 Html.TextBoxFor?
最佳答案
你在哪里写这个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;
}
然后使用popular javascript framework在 DOM 准备就绪时设置焦点:
$(function() {
$('input.email').focus();
});
关于javascript - 如何将焦点设置到文本框 Html.TextBoxFor - mvc 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2951405/