IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

La fonction appelée ne se lance pas (objet requis)


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut La fonction appelée ne se lance pas (objet requis)
    Bonjour tout le monde,

    J'ai un petit problème avec mon script "javascript".

    A un certain moment, je demande d'appeler une fonction, mais ça ne fonctionne pas, j'obtiens ce message d'erreur :

    Ligne 140

    'Objet attendu'

    Voici la ligne 140 :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    } else {
    				cCI1TH_val.value = "";	// Si la checkbox est décoché on met une chaine vide pour les crédits ECTS.
    			}
    			somme();		
    					}
    Voici la fonction appelée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    function somme() {
    		/** Variables permettant la récupération des valeurs */
    		var th_ects1,th_ects2,th_ects3,th_ects4;
    		var tp_etcs1,tp_etcs2,tp_etcs3,tp_etcs4;
    		var ex_ects1,ex_ects2,ex_ects3,ex_ects4,
    		var total;  // Correspond à ton champ txtTotalECTS
     
    		// Ici on récupère tous nos champs 
    		th_ects1 = (document.getElementById("ECTSCI1TH").value != "" && document.getElementById("ECTSCI1TH").value != "undefined")?parseInt(document.getElementById("ECTSCI1TH").value):0;
    		th_ects2 = (document.getElementById("ECTSCI2TH").value != "" && document.getElementById("ECTSCI2TH").value != "undefined")?parseInt(document.getElementById("ECTSCI2TH").value):0;
    		th_ects3 = (document.getElementById("ECTSCI3TH").value != "" && document.getElementById("ECTSCI3TH").value != "undefined")?parseInt(document.getElementById("ECTSCI3TH").value):0;
    		th_ects4 = (document.getElementById("ECTSCI4TH").value != "" && document.getElementById("ECTSCI4TH").value != "undefined")?parseInt(document.getElementById("ECTSCI4TH").value):0;
    		tp_etcs1 = (document.getElementById("ECTSCI1TP").value != "" && document.getElementById("ECTSCI1TP").value != "undefined")?parseInt(document.getElementById("ECTSCI1TP").value):0;
    		tp_etcs2 = (document.getElementById("ECTSCI2TP").value != "" && document.getElementById("ECTSCI2TP").value != "undefined")?parseInt(document.getElementById("ECTSCI2TP").value):0;
    		tp_etcs3 = (document.getElementById("ECTSCI3TP").value != "" && document.getElementById("ECTSCI3TP").value != "undefined")?parseInt(document.getElementById("ECTSCI3TP").value):0;
    		tp_etcs4 = (document.getElementById("ECTSCI4TP").value != "" && document.getElementById("ECTSCI4TP").value != "undefined")?parseInt(document.getElementById("ECTSCI4TP").value):0;
    		ex_etcs1 = (document.getElementById("ECTSCI1EX").value != "" && document.getElementById("ECTSCI1EX").value != "undefined")?parseInt(document.getElementById("ECTSCI1EX").value):0;		
    	ex_etcs2 = (document.getElementById("ECTSCI2EX").value != "" && document.getElementById("ECTSCI2EX").value != "undefined")?parseInt(document.getElementById("ECTSCI2EX").value):0;
    	ex_etcs3 = (document.getElementById("ECTSCI3EX").value != "" && document.getElementById("ECTSCI3EX").value != "undefined")?parseInt(document.getElementById("ECTSCI3EX").value):0;
    	ex_etcs4 = (document.getElementById("ECTSCI4EX").value != "" && document.getElementById("ECTSCI4EX").value != "undefined")?parseInt(document.getElementById("ECTSCI4EX").value):0;
     
    		total = document.getElementById("txtTotalECTS");
    		total.value = th_ects1+th_ects2+th_ects3+th_ects4+tp_etcs1+tp_etcs2+tp_etcs3+tp_etcs4+ex_ects1+ex_ects2+ex_ects3+ex_ects4;
     
    	}
    </script>

    Pourriez-vous me dire svp pourquoi il n'arrive pas à la fonction

    Merci d'avance.

    beegees

  2. #2
    Membre éprouvé Avatar de rieppe
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 115
    Par défaut
    Salut,

    C'est ca ta ligne 140 ?
    Si c'est le cas peut etre que cCI1TH_val ne pointesur aucun objet ?

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Salut Rieppe,

    Désolé pour le manque de précision.

    La ligne 140 correspond à :

    Qu'en penses-tu (vous) ?

    Merci et bonne journée.

    bgs

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var th_ects1,th_ects2,th_ects3,th_ects4;
    var tp_etcs1,tp_etcs2,tp_etcs3,tp_etcs4;
    var ex_ects1,ex_ects2,ex_ects3,ex_ects4,
    var total;
    Regarde la ligne 3, tu as mis une virgule au lieu d'un point-virgule en fin de ligne.

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Bonjour,

    Je vais être franc avec toi (vous), c'est un membre de développez.com qui m'a gentiement écrit cette fonction (et m'a bien aidé pour la conception de ma page web).

    Bon, le fait de mettre un ; à la fin est une bonne idée mais le problème persiste et est différent.

    Dès que je choisis un cours, ce code se met en route :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <script type="text/javascript" language="javascript">
     
     
    	// c'est ici qu'on ajouter ou on supprime des cours, il faut additionner ou soustraire des éléments dans le tableau de crédits et dans la liste déroulante quand on ajoute ou on soustrait un cours ici.
    		var nom_matiere = new Array('',
    									Cours1
    Cours2....
     
     
    		/** Fonction de mise à jour que l'on a vu ensemble avec en plus, la mise à jour de la checkbox ainsi que de ton
    		*	input text.
    		*/
    		function maj() {
    				t = document.getElementById('CI1');	
    				s = document.getElementById('select4');
    				t.value = nom_matiere[s.options[s.selectedIndex].value];
    				maj_checkbox();
    				maj_checkboxCI1TP();				
    				maj_checkboxCI1EX();
    				//c'est pour le page maj_ci.asp.
    				document.form1.hfCI1.value=t.value;
    				document.form1.hfCI1mnemonic.value = s.value;
    		}
     
    		function majannee() {
    		//on créé une variable a (année) et on lui donne la valeur sélectionnée de annee (liste déroulante année)
    		a = document.getElementById('lcannee');
    		//je récupère la valeur de a et je la met dans le champs caché hfannee (hf = à hidden field)
    		//le but de cette action est de pouvoir récupérer la valeur du champs caché via la page d'action asp
    		//on ne peut pas récupérer la valeur d'une variable javascript mais bien d'un champs caché.
    		document.form1.hfannee.value = a.value;
     
    		}
     
     
    		function maj_checkbox() {
    			//TABLEAU D'ECTS
    			//c'est ici qu'on change la valeur des ECTS !!!!!!!!!!!!
    			//0 correspond à choississez une matière
    		var credits = new Array(0,1/*Biochimie Médicale BIOC 008*/,4/*Biologie Générale BIOL-J-101*/,3/*);	// Tableau des crédits ECTS. On retrouve 21 valeur ce qui correspond au nombre d'option disponible dans ton select. A toi de choisir la valeur des crédits ECTS en fonction de la matière. J'ai fais simple pour l'exemple mais les nombres peuvent très bien changer ;)
    			cCI1TH = document.getElementById('cbCI1TH');	// On récupère la checkbox qui a pour id="checkboxECTS"  (correspond à TH)
    			cCI1TH_val = document.getElementById('ECTSCI1TH');	// On récupère le input text à coté de la checkbox
    			s = document.getElementById('select4');	
    			if(cCI1TH.checked) {		// On test si la checkbox est coché
    				cCI1TH_val.value = credits[s.options[s.selectedIndex].value];	// Puis on met à jour le input text en récupèrant la valeur de la matière selectionné et en allant cherché le nombre de crédits ECTS dans le tableau credits
    				//alert(cCI1TH_val.value);
    				ECTSCITH = cCI1TH_val.value;
     
    				//alert(ECTSCITH);
    				document.form1.txtTotalECTS.value = ECTSCITH.value;
     
    				document.form1.hfCI1TH.value=cCI1TH_val.value;
     
    			} else {
    				cCI1TH_val.value = "";	// Si la checkbox est décoché on met une chaine vide pour les crédits ECTS.
    			}
    			somme();		
    					}
    	</script>
    Il met met dans ma zone de texte qui devrait récupérer le total "NaN" ?

    Comprends plus rien moi

  6. #6
    Membre éprouvé Avatar de rieppe
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 115
    Par défaut
    Citation Envoyé par beegees
    Il met met dans ma zone de texte qui devrait récupérer le total "NaN" ?

    Comprends plus rien moi
    NaN veut dire not a number, il doit y avoir un problème dans ton calcul ^_^. Jvais essayer de regarder.

    EDIT : Tu es sur que les lignes du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    th_ects1 = (document.getElementById("ECTSCI1TH").value != "" && document.getElementById("ECTSCI1TH").value != "undefined")?parseInt(document.getElementById("ECTSCI1TH").value):0;
    Te donnent bien des nombres ?

  7. #7
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Re,

    Merci pour ta réponse et pour l'explication de NaN.

    Pour répondre à ta question :

    Tu es sur que les lignes du style Te donnent bien des nombres ?
    J'ai mis :

    Lorsque je choisis un cours, l'alerte me dit "undefined"

    C'est qu'il prend pas le nombre associé alors ?

    Merci pour ta précieuse aide.

    beegees

  8. #8
    Membre éprouvé Avatar de rieppe
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 115
    Par défaut
    Citation Envoyé par beegees
    J'ai mis :
    Lorsque je choisis un cours, l'alerte me dit "undefined"

    C'est qu'il prend pas le nombre associé alors ?
    Essaye un alert(th_ects1); tout court pour voir ?

  9. #9
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    j'obtiens 0 (zéro) en retirant .value.

    Qu'en penses-tu ?

    bgs

  10. #10
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @beegees : Qu'apparemment il est passé dans le "else" de ta condition.

  11. #11
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    Io Beegees,

    Renvoi moi ton code mais avec un zip :p!

    Dépèche je pars à 11h30

  12. #12
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Je pensais que tu étais déjà sous les tropiques toi

    Voici le code avec quelques adaptations depuis hier.

    Merci à toi

    beegees

  13. #13
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    Ben j'y serai ce soir

    Bon je regarde le code et je reviens !

  14. #14
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par BisounoursJos
    @beegees : Qu'apparemment il est passé dans le "else" de ta condition.
    Tu crois qu'il est dans le else alors.

    Bizzare car c'est dès que je choisis un cours avec la liste déroulante qui me fait ce coup là.

    Le if else sert pour gérer les checkboxes.

    Comprends plus rien moi.

    J'ai mis le code pour Hug0_76 qui est le concepteur de ce code, tu peux aussi l'utiliser si tu veux.


    Merci à vous deux.

    BEEGEES

  15. #15
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par Hug0_76
    Ben j'y serai ce soir

    Bon je regarde le code et je reviens !
    Moi ce soir.... j'suis au cours....

    Merci pour le code.

  16. #16
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @beegees :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    th_ects1 = (document.getElementById("ECTSCI1TH").value != "" && document.getElementById("ECTSCI1TH").value != "undefined")?parseInt(document.getElementById("ECTSCI1TH").value):0;
    L'affectation de la valeur à la variable est un if else simplifié.

    En gros ça veur dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if((document.getElementById("ECTSCI1TH").value != "") && (document.getElementById("ECTSCI1TH").value != "undefined")){
       th_ects1 = parseInt(document.getElementById("ECTSCI1TH").value);
    }
    else{
       th_ects1 = 0;
    }

  17. #17
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    C'est bon beegees !

    Par contre il manque une tite gestion ici regarde l'image jointe

    En ce qui concerne la correction, cela vennait tout simplement de l'affectation de la valeur au champs total :

    total.value = tp_ects1+...;

    Il y avait un ou deux champs qui buggait!

    C'est la seule chose que j'ai changé en tout cas
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  18. #18
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Woaw, tu m'impréssionnes encore toi

    Un super grand merci !!!!

    Tu crois que la tite gestion peut se régler ?

    Je vais regarder à cela.

    C'est super !

    Merci et bonne bronzette

    beegees

  19. #19
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    Lol biensur, c'est jusque qu'il ne récupère pas la valeur de ce champs txt!

    Tu sauras te débrouiller !

    Au pire il y a le forum !

    Bon aller j'y vais parce que mon avion ne va pas m'attendre!

    A+!

    Bonne fin de journée

  20. #20
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Bon voyage et merci pour tout.

    On se parle la semaine prochaine.

    Bonne journée aussi.


    bgs

Discussions similaires

  1. ma fonction ne se la lance pas - onsubmit
    Par exe2bin dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/10/2012, 22h07
  2. Fonction qui ne se lance pas ?
    Par titimoi dans le forum jQuery
    Réponses: 26
    Dernier message: 22/01/2012, 13h29
  3. Fonction qui ne se lance pas
    Par ingeniomatique dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/06/2011, 15h32
  4. Fonctions Jquery ne se lance pas sous Chrome
    Par akrogames dans le forum jQuery
    Réponses: 0
    Dernier message: 18/04/2011, 18h23
  5. fonction qui ne se lance pas
    Par le_voisin dans le forum Débuter
    Réponses: 3
    Dernier message: 26/01/2009, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo