[js]création de div et lui donner le focus ?

Résolu/Fermé
waltou - 24 nov. 2010 à 12:31
 waltou - 24 nov. 2010 à 18:31
Bonjour à tous,

Je viens vers vous car j'ai un petit souci avec javascript.

En faite je crée un div au clic sur un bouton, jusque là pas de souci, le div est créer ainsi que son contenu, mais voilà mon problème est que si je suis en bas de la page le div ce crée en haute de la page en position absolute, ca hauteur n'étant pas fixe, je ne peut lui définir un position précise, ce que j'aimerai c'est donner le focus à ce div, je suis en bas de la page, je clic sur le bouton et hop il crée le div et remonte le visiteur sur le haut de la page

voici ma fonction qui crée le div
function newWin(newId,title,clsHTML){
    if(document.getElementById(newId)){ destroy(newId); }
    
    var idDiv = (newId != "") ? newId : "Undefined";
    var div = document.createElement('div');
    div.setAttribute('id',idDiv);
    if(clsHTML != ""){
        div.setAttribute("class",clsHTML); // => gecko
        div.setAttribute("className",clsHTML); // => IE
    }
    document.body.appendChild(div);
}


j'ai essayer de faire un focus après le appendChild sur le div mais ca ne fonctionne pas
document.body.appendChild(div);
document.getElementById(idDiv).focus();


J'ai essayer le système d'ancre, placé en haute de la page un
<a name="top"></a>


et avec en js la commande document.location
appendChild...
document.location = '#top';


Mais encore une fois sans succès, certe je voi le #top qui apparait dans la barre d'adresse mais le visiteur reste en bas de la page :s

Si quelqu'un pouvait m'aider je le remercie d'avance
Donc en clair, comment donner le focus sur le div qui vient d'être créer en JS

d'avance merci de votre aide
A voir également:

3 réponses

coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
24 nov. 2010 à 13:15
Si tu essayais :
window.scrollTo(0,0);

(ou scrollTo(x,y) de ton choix) ?
2
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
24 nov. 2010 à 14:23
Salut.

Tu peux utiliser object.offsetTop pour savoir la position de l'objet object.
Ensuite, il suffit de scroller jusqu'à cette position avec scrollTo()
2
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
24 nov. 2010 à 14:50
Ah super, je cherchais justement cette propriété ! Merci avion-f16, tu as fait d'une pierre deux coups ! :-)
0
merci a vous, ca convient parfaitemen à ce que je cherchait :D

encore merci beaucoup
1