[Javascript] Poursuivre l'exécution d'un code

Résolu/Fermé
pking64 Messages postés 14 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 3 décembre 2015 - 22 mai 2009 à 04:26
pking64 Messages postés 14 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 3 décembre 2015 - 22 mai 2009 à 19:31
Bonjour,

J'ai un petit problème et j'aimerais savoir s'il y a une façon de le régler:

Dans mon script, j'utilise le getElementById et il arrive des fois que la division à laquelle je fais référence n'existe pas dans la page et c'est voulu. Le problème, c'est que quand le script arrive à cette ligne et s'aperçoit que la division que je lui demande de traiter n'existe pas, il interrompt tout et le reste du code n'est pas lu et ça occasionne des problèmes. Donc, ma question est: est-ce qu'il existe une façon de continuer à exécuter le script même si une erreur est survenue?

Merci!
A voir également:

4 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
22 mai 2009 à 13:44
Si j'ai bien compris ça devrait répondre à ta question :
Récupère ton objet, teste-le, et s'il existe fait ce que tu veux.

Par exemple :
var bouton = document.getElementById("monBouton");
if(bouton) document.getElementById("maDiv").removeChild(bouton);

Si le bouton d'id monBouton existe, il est supprimé de maDiv, et s'il n'existe pas, ça continue normalement.
0
pking64 Messages postés 14 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 3 décembre 2015 2
22 mai 2009 à 16:16
Ce n'est pas tout à fait ça, voici un exemple:

<?php
$chiffre = 8;
if($chiffre<5){
     <div id='boite'>123</div>
}
?>

<script language="JavaScript">
      document.getElementById("boite").style.backgroundColor = 'red';
</script>


Comme tu vois, quand le code Javascript arrive au getElementById, il ne voit pas la division "boite", donc le code arrête. Ma question était: est-ce qu'il y a une façon que le code continue son exécution même s'il a rencontré une erreur?
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
22 mai 2009 à 17:01
Soit j'ai rien compris à ton problème, soit tu as mal compris ma réponse.

<script language="JavaScript">
      var boite = document.getElementById("boite");
      if(boite) {
            boite.style.backgroundColor = 'red';
      }
</script>


Si la div boite n'existe pas ça n'essayera pas de lui mettre red dans backgroundColor.
Ça ne résout pas ton problème ?
0
pking64 Messages postés 14 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 3 décembre 2015 2
22 mai 2009 à 19:31
Ça fonctionne, j'avais mal compris ta réponse, je n'avais pas trop compris ton removeChild.

Merci, problème résolu!
0