Javascript 如何将焦点设置为文本框Html.TextBoxFor-mvc2
我试图将焦点设置在一个文本框上,该文本框是通过以下方式生成的:Javascript 如何将焦点设置为文本框Html.TextBoxFor-mvc2,javascript,html,asp.net-mvc,focus,html-helper,Javascript,Html,Asp.net Mvc,Focus,Html Helper,我试图将焦点设置在一个文本框上,该文本框是通过以下方式生成的: <%=Html.TextBoxFor(model => model.Email, new { style = "width:190px;Border:0px", maxsize = 190 })%> model.Email,新的{style=“width:190px;Border:0px”,maxsize=190})%> 我尝试使用javascript,但没有多大帮助: <script type="
<%=Html.TextBoxFor(model => model.Email, new { style = "width:190px;Border:0px", maxsize = 190 })%>
model.Email,新的{style=“width:190px;Border:0px”,maxsize=190})%>
我尝试使用javascript,但没有多大帮助:
<script type="text/javascript">
var txtBox = document.getElementById("Email");
if (txtBox != null) txtBox.focus();
</script>
var txtBox=document.getElementById(“电子邮件”);
如果(txtBox!=null)txtBox.focus();
如何在MVC2中将焦点设置为文本框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" }) %>
然后在DOM就绪时使用设置焦点:
$(function() {
$('input.email').focus();
});
您可以在中使用自动对焦。
model.Email,新的{style=“width:190px;Border:0px”,maxsize=190,autofocus=“autofocus”})%>
那么,我应该把设置焦点的脚本放在哪里呢?你可以把它放在一个javascript文件中,这是脚本通常放在的地方。如果此脚本包含在DOM的末尾,则不再需要将焦点调用包装到document.ready
处理程序中。
$(function() {
$('input.email').focus();
});