Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将焦点设置为文本框Html.TextBoxFor-mvc2_Javascript_Html_Asp.net Mvc_Focus_Html Helper - Fatal编程技术网

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();
});