Hoe kan ik de focus op een element in een HTML-formulier instellen met JavaScript?

Ik heb een webformulier met een tekstvak erin. Hoe stel ik de focus standaard in op het tekstvak?

Zoiets:

<body onload='setFocusToTextBox()'>

dus kan iemand mij hiermee helpen? Ik weet niet hoe ik de focus op het tekstvak moet zetten met JavaScript.

<script>
  function setFocusToTextBox(){
    //What to do here
  }
</script>

Antwoord 1, autoriteit 100%

Doe dit.

Als je element zoiets is..

<input type="text" id="mytext"/>

Uw script zou zijn

<script>
function setFocusToTextBox(){
    document.getElementById("mytext").focus();
}
</script>

Antwoord 2, autoriteit 26%

Voor wat het waard is, kun je de autofocus-kenmerkin HTML5-compatibele browsers. Werkt zelfs op IE vanaf versie 10.

<input name="myinput" value="whatever" autofocus />

Antwoord 3, autoriteit 11%

Als we ons concentreren op een tekstvak, moeten we meestal ook in beeld scrollen

function setFocusToTextBox(){
    var textbox = document.getElementById("yourtextbox");
    textbox.focus();
    textbox.scrollIntoView();
}

Controleer of het helpt.


Antwoord 4, autoriteit 5%

Als uw code is:

<input type="text" id="mytext"/>

En als u JQuery gebruikt, kunt u dit ook gebruiken:

<script>
function setFocusToTextBox(){
    $("#mytext").focus();
}
</script>

Houd er rekening mee dat u eerst de invoer moet tekenen $(document).ready()


Antwoord 5, autoriteit 3%

Probeer het volgende voor gewoon Javascript:

window.onload = function() {
  document.getElementById("TextBoxName").focus();
};

Antwoord 6

Vroeger gebruikte ik dit gewoon:

<html>
  <head>
    <script type="text/javascript">
      function focusFieldOne() {
        document.FormName.FieldName.focus();
      }
    </script>
  </head>
  <body onLoad="focusFieldOne();">
    <form name="FormName">
      Field <input type="text" name="FieldName">
    </form>
  </body>
</html>

Dat gezegd hebbende, je kunt gewoon het autofocus-attribuut in HTML 5 gebruiken.

Let op: ik wilde deze oude thread bijwerken met het gevraagde voorbeeld plus de nieuwere, gemakkelijkere update voor degenen die dit nog steeds lezen. 😉


Antwoord 7

Zoals eerder vermeld, werkt document.formsook.

function setFocusToTextBox( _element ) {
  document.forms[ 'myFormName' ].elements[ _element ].focus();
}
setFocusToTextBox( 0 );
// sets focus on first element of the form

Antwoord 8

Als uw <input>of <textarea>het kenmerk id=mytextheeft, gebruik dan

mytext.focus();

Antwoord 9

window.onload is om in eerste instantie de focus te leggen
onblur is om de focus te leggen terwijl u buiten het tekstgebied klikt, of om het tekstgebied te vermijden
vervagen

   <textarea id="focus"></textarea>
    <script>
     var mytexarea=document.getElementById("focus");
    window.onload=function()
    {
    mytexarea.focus();
    }
    </script>

Other episodes