2011-10-31 3 views
3

J'utilise Ajax pour charger des parties d'un formulaire. Comment puis-je focaliser un objet textarea après la requête ajax?JQuery: focus textarea après ajax load

C'est le html chargé:

<legend>Test</legend> 
<label for="t">This is only a test</label> 
<textarea></textarea> 
<a href="#" class="continue">Continue</a> 

Voici le code JQuery/Ajax:

$.post(
    'ajax.php', 
    { next:next }, 
    function(data){ 
     $('body').append($(data).hide().fadeIn('slow')); 
    } 
); 

Merci.

Répondre

7

Utiliser déclencheur .focus() dans votre rappel, après le code html annexant:

$.post(
    'ajax.php', 
    { next:next }, 
    function(data){ 
     $('body').append($(data).hide().fadeIn('slow')); 
     $('textarea').focus(); 
    } 
); 
0

Cette Snipped recherche un attribut "autofocus" dans votre code HTML, et met l'accent sur l'élément donné.

$('[autofocus]').focus() 

De cette façon, si la vue est chargé dans Ajax, cela fonctionne, et s'il n'y a pas JavaScript et la vue est chargé sans ajax, vous obtenez toujours votre mise au point automatique.