Probablemente esto sea muy simple, pero ¿alguien podría decirme cómo hacer que el cursor parpadee en un cuadro de texto al cargar la página?
Probablemente esto sea muy simple, pero ¿alguien podría decirme cómo hacer que el cursor parpadee en un cuadro de texto al cargar la página?
Respuestas:
Establezca el foco en el primer campo de texto:
$("input:text:visible:first").focus();
Esto también hace el primer campo de texto, pero puede cambiar el [0] a otro índice:
$('input[@type="text"]')[0].focus();
O puede usar la ID:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
... funcionó para mí
Puedes usar HTML5autofocus
para esto. No necesita jQuery u otro JavaScript.
<input type="text" name="some_field" autofocus>
Tenga en cuenta que esto no funcionará en IE9 y versiones inferiores.
Por supuesto:
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#myTextBox").focus();
});
</script>
</head>
<body>
<input type="text" id="myTextBox">
</body>
¿Por qué todos usan jQuery para algo tan simple como esto?
<body OnLoad="document.myform.mytextfield.focus();">
Piense en su interfaz de usuario antes de hacer esto. Supongo (aunque ninguna de las respuestas lo ha dicho) que lo hará cuando el documento se cargue utilizando la ready()
función de jQuery . Si un usuario ya se ha centrado en un elemento diferente antes de que se haya cargado el documento (lo cual es perfectamente posible), entonces es extremadamente irritante que le roben el foco.
Puede verificar esto agregando onfocus
atributos en cada uno de sus <input>
elementos para registrar si el usuario ya se ha enfocado en un campo de formulario y luego no robar el foco si tiene:
var anyFieldReceivedFocus = false;
function fieldReceivedFocus() {
anyFieldReceivedFocus = true;
}
function focusFirstField() {
if (!anyFieldReceivedFocus) {
// Do jQuery focus stuff
}
}
<input type="text" onfocus="fieldReceivedFocus()" name="one">
<input type="text" onfocus="fieldReceivedFocus()" name="two">
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
autofocus
atributo al elemento de entrada?
Perdón por toparse con una vieja pregunta. Encontré esto a través de google.
También vale la pena señalar que es posible usar más de un selector, por lo que puede apuntar a cualquier elemento de formulario, y no solo a un tipo específico.
p.ej.
$('#myform input,#myform textarea').first().focus();
Esto enfocará la primera entrada o área de texto que encuentre y, por supuesto, también puede agregar otros selectores a la mezcla. Hnady si no puede estar seguro de que un tipo de elemento específico es el primero, o si desea algo un poco general / reutilizable.
Esto es lo que prefiero usar:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
atributo proporcionado por HTML5
colocar después de la entrada
<script type="text/javascript">document.formname.inputname.focus();</script>
La forma más simple y fácil de lograr esto
$('#button').on('click', function () {
$('.form-group input[type="text"]').attr('autofocus', 'true');
});
La línea por $('#myTextBox').focus()
sí sola no colocará el cursor en el cuadro de texto, en su lugar use:
$('#myTextBox:text:visible:first').focus();