Provavelmente isso é muito simples, mas alguém poderia me dizer como fazer o cursor piscar em uma caixa de texto no carregamento da página?
Provavelmente isso é muito simples, mas alguém poderia me dizer como fazer o cursor piscar em uma caixa de texto no carregamento da página?
Respostas:
Defina o foco no primeiro campo de texto:
$("input:text:visible:first").focus();
Isso também faz o primeiro campo de texto, mas você pode alterar o [0] para outro índice:
$('input[@type="text"]')[0].focus();
Ou você pode usar o ID:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
... trabalhou para mim
Você pode usar HTML5autofocus
para isso. Você não precisa de jQuery ou outro JavaScript.
<input type="text" name="some_field" autofocus>
Observe que isso não funcionará no IE9 e inferior.
Certo:
<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 que todo mundo está usando o jQuery para algo simples como este.
<body OnLoad="document.myform.mytextfield.focus();">
Pense na sua interface do usuário antes de fazer isso. Presumo (embora nenhuma das respostas tenha dito isso) que você fará isso quando o documento for carregado usando a ready()
função do jQuery . Se um usuário já se concentrou em um elemento diferente antes do carregamento do documento (o que é perfeitamente possível), é extremamente irritante para ele ter o foco roubado.
Você pode verificar isso adicionando onfocus
atributos em cada um dos seus <input>
elementos para registrar se o usuário já se concentrou em um campo de formulário e, em seguida, não rouba o foco se tiver:
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 ao elemento de entrada?
Desculpe por responder a uma pergunta antiga. Eu encontrei isso via google.
Também é importante notar que é possível usar mais de um seletor, portanto, você pode direcionar qualquer elemento do formulário, e não apenas um tipo específico.
por exemplo.
$('#myform input,#myform textarea').first().focus();
Isso focalizará a primeira entrada ou área de texto que encontrar e, é claro, você também pode adicionar outros seletores à mistura. Por isso, se você não pode ter certeza de que um tipo de elemento específico é o primeiro ou se deseja algo um pouco geral / reutilizável.
Isto é o que eu prefiro usar:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
atributo fornecido pelo HTML5
colocar após a entrada
<script type="text/javascript">document.formname.inputname.focus();</script>
A maneira mais simples e fácil de conseguir isso
$('#button').on('click', function () {
$('.form-group input[type="text"]').attr('autofocus', 'true');
});
A linha $('#myTextBox').focus()
sozinha não colocará o cursor na caixa de texto; em vez disso, use:
$('#myTextBox:text:visible:first').focus();