Problème getElementById

Résolu
cs_MobyWan Messages postés 12 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 4 septembre 2010 - 8 mai 2008 à 13:02
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 8 mai 2008 à 15:28
J'ai un problème de détection de control que je ne m'explique pas.

c'est un site asp.net avec le framework 1

dans la page aspx j'ai un image button nommé btnGo.

dans le code j'ai une fonction qui est appelé lors du changement de valeur d'une dropdownlist la dernière inscription de cette fonction est :

this.Page.RegisterClientScriptBlock(
"SetFocus",
"<script language='javascript'>SetFocusWhenSelect('" + btnGo.ClientID + "'
);</script>");

La fonction javascript qui est dans un fichier Common.js inclus dans la page est la suivante :

function

SetFocusWhenSelect(strButtonID, strTest){

   document.getElementById(strButtonID).focus();

}

le getElementById me retourne null alors que dans le viewsource le bouton est bien présent et porte bien l'ID passé a la fonction javascript.

Je ne comprend pas comment un code d'une telle simplicité puisse ne pas marché si qq à une piste?? merci d'avance.

MobyWan

4 réponses

cs_MobyWan Messages postés 12 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 4 septembre 2010
8 mai 2008 à 14:41
Merci a vous deux vous m'avez permis de trouver ce qui clochais dans mon code.

Le problème vient effectivement de la position du script dans la page et donc si au lieur de fair un RegisterClientScriptBlock
je fais un RegisterStartupScript

il n'y a plus de problème.

Encore merci

MobyWan
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 mai 2008 à 13:21
Bonjour,
    pas simple de te répondre.... tu ne donnes que peu d'infos !
    mais si dans la page html ( pas en jsp ! ), il y a un
      
       ben, en javascript document.getElementById("TOTO")... ça fonctionne....
       sauf si on fait référence à cet ID avant qu'il ne soit défini ( c'est de
       l'interprété ! )

      
       <script> document.getElementById("TOTO")   c'est ok

       <script> document.getElementById("TOTO")   c'est ko

      

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
8 mai 2008 à 13:57
Salut,

Bultez++

Il faut faire l'appel de la fonction après que la balise soit définit et non pas avant, tu peus par exemple faire :

window.attachEvent("onload", "fonction"); //IE
window.addEventListener("load", "fonction", false); //Firefox

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
8 mai 2008 à 15:28
de rien !

Si t'a besoin d'aide, MP !!!
Un forum...
0
Rejoignez-nous