Je tente d'écrire une jQuery pour vous concentrer sur le premier visible, activé em> zone de texte ou textarea dans le deuxième formulaire lorsqu'une page se charge. Dans l'exemple ci-dessous, concentrez-vous sur l'entrée la solution proposée dans jQuery se concentrer dynamiquement sur la première entrée ou Textarea ne fonctionne pas pour moi. P> Veuillez noter que nous avons plusieurs pages dans notre application. Dans certaines pages, le premier champ du formulaire est une zone de texte et dans d'autres pages, le premier champ est un Textarea. Je veux écrire une méthode JQuery qui fera le travail pour toutes les pages, que le premier champ est une zone de texte ou une textarea. Dans l'exemple ci-dessous, la solution devrait fonctionner si nous échangeons les champs ceci est Ce que j'ai essayé jusqu'à présent ... p> merci. p> p> p>
6 Réponses :
Vous devez utiliser l'élément DOM au lieu de l'objet JQuery, comme:
$("#content input:text, #content textarea").eq(0).focus()
ici ce dont vous avez besoin: un exemple ici p> p>
Bonjour Rafael, merci, cela fonctionne mais je ne peux pas me référer au nom du formulaire car le nom du formulaire diffère dans chaque page. L'ID DIV "Contenu" est le même dans toutes les pages. Est-il possible d'utiliser l'ID DIV au lieu du nom du formulaire?
Absolument, @ Neo108 ... Le sélecteur pour le conteneur peut être n'importe qui qui jette le premier formulaire, de sorte que $ ("# contenu") pourrait être utilisé:]
// jette l'erreur - $ ("# Entrée de contenu: texte, #content Textarea "). La première n'est pas une fonction $ (" # Entrée de contenu: Texte, #Content textarea "). Premier (). Focus (); P> blockQuote>
Cela devrait fonctionner bien. Vérifiez votre version de jQuery, première méthode ajoutée sur jQuery 1.4 p>
<script type="text/javascript">
$(document).ready(function() {
// focus on the first visible and enabled input field or textarea
$(":input:visible:enabled").each(function() {
if (($(this).attr('type') == 'text') && ($(this).is('input'))){
$(this).focus();
return false;
}
if ($(this).is('textarea')){
$(this).focus();
return false;
}
});
});
</script>
Si vous utilisez solution Raphael Verger , il pourrait s'agir également d'un mot de passe, donc:
â$(function(){
$('form[name=form2]').find(':text, textarea, :password').filter(":visible:enabled").first().focus();
})â