Asp.Net Mvc - Html.TextBox - Set Autofocus property
Asked Answered
B

3

14

In Html 5, there is a new attribute on textbox called autofocus.

The problem is that it is a boolean value (there or not there)

It should look something like :

<input name="a" value="" autofocus>

I tried :

<%= Html.TextBox( "a", null, new { autofocus } ) %>

But, it gives me an error because I'm not setting a value to autofocus...

I know I can do it manually, but can I do it with Html.TextBox ?

Bigham answered 8/6, 2010 at 14:30 Comment(0)
B
27

Try <%= Html.TextBox( "a", null, new { autofocus = "" } ) %>

According to the HTML5 spec on boolean attributes:

If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace.

So either

  • <input name="a" value="" autofocus> or
  • <input name="a" value="" autofocus=""> or
  • <input name="a" value="" autofocus="autofocus">

should be valid.

Bulley answered 8/6, 2010 at 14:38 Comment(0)
B
3

As of XHTML, the standard way to enable such a boolean attribute would be:

<input name="a" value="" autofocus="autofocus" />

therefore, assuming that is still valid in HTML5, you could use the following code:

<%=Html.TextBox( "a", null, new { autofocus: "autofocus" } ) %>
Babiche answered 8/6, 2010 at 14:39 Comment(0)
B
3

Also, you can do following along with some other attributes:

@Html.TextBoxFor(m => m.Email, new { @class = "class1", @placeholder = "Email", @autofocus = "autofocus" })

Note: Only issue with autofocus is that, in IE browsers, placeholder text does not get displayed when the input control is in focus (it's an issue with IE).

Briannebriano answered 20/11, 2014 at 8:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.