6
votes

JQuery se concentre sur la première zone de texte ou textarea lorsque la page charge

Je tente d'écrire une jQuery pour vous concentrer sur le premier visible, activé 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 text2 dans form2 .

la solution proposée dans jQuery se concentrer dynamiquement sur la première entrée ou Textarea ne fonctionne pas pour moi.

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 textarea1 et text2 autour de. xxx

ceci est Ce que j'ai essayé jusqu'à présent ... xxx

merci.


0 commentaires

6 Réponses :


0
votes

Vous devez utiliser l'élément DOM au lieu de l'objet JQuery, comme: xxx


0 commentaires

9
votes
$("#content input:text, #content textarea").eq(0).focus()

0 commentaires

3
votes

ici ce dont vous avez besoin: xxx

un exemple ici


2 commentaires

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é:]



0
votes

// 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 ();

Cela devrait fonctionner bien. Vérifiez votre version de jQuery, première méthode ajoutée sur jQuery 1.4


0 commentaires

1
votes
<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>

0 commentaires

1
votes

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();
})​


0 commentaires