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 :

"if" d'une méthode non appelé


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Par défaut "if" d'une méthode non appelé
    bonjour,
    je planche sur un problème incompréhensible depuis hier...
    j'ai un fichier "javascript.js" appelé dans mes pages html comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script language="javascript" src="style/javascript.js"></script>
    le fichier contient quatre fonctions:
    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
     
    function choose_nature(){
    	var Name1=' etablissement__nature';
    	var Obj=document.Form[Name1];
    	if (Obj.name=='Centre de Responsabilité'){
    		document.Form['code_cr'].value=document.Form['etablissement__code'].value;		
    	}
    	return true;
    }
     
     
    function affCache(idpr)
    {
    	var pr = document.getElementById(idpr);
     
    	if (pr.style.display == "") {
    		pr.style.display = "none";
    	} else {
    		pr.style.display = "";
    	}
    }
    function PopupRecherche(param,name){ 
    	w2=open('popup.php?&Param='+param+'&Name='+name,'','toolbar=no,scrollbars=no,resizable=no,width=300,height=400,left=300,top=80'); 
    	w2.document.close(); 
    }
     
    function PopupReturn(Name)
    {
    	var texte=document.Search.Select.options[document.Search.Select.selectedIndex].text;
    	var cle=document.Search.Select.options[document.Search.Select.selectedIndex].value;
    	var val=texte+' {'+cle+'}';
    	window.opener.Form[Name].disabled=false;
    	window.opener.Form[Name].value=val;
    	window.close();
    	return true;
    }
    le problème vient de la première fonction qui fonctionne tres bien quand je ll'appelle. Cepeandant; dans une de mes pages ou je fai appel aux fonctions
    PopupRecherche et PopupReturn, la fonction PopupReturn ne marche plus. Et, et c'est la que je comprend rien... si je desactive la ligne if(Obj.name=='Centre de Responsabilité'){ (+ le }) de la méthode choos_nature (la premiere) la ca marche.
    et la c'est incompréhensible car je n'appelle pas la méthode choose_nature dans ma page... bien evidemment jai fait plusieurs test et c'est seulement sur cette ligne que ca bute...

    si quelqu'un avait une idée j'en serais très heureux lol, je reste a votre disposition si vous avez d'autres question

    Merci.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    erreur de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function choose_nature(){
    var Name1=' etablissement__nature';
    var Obj=document.forms[Name1];
    Syntaxe complète :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['name_form'].elements['name_el'].attribut
    A+

  3. #3
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Par défaut
    mon formulaire s'appelle "Form" et de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms['name'].elements['name_el'].attribut
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.name.name_el.attribut
    ne revient il pas au meme?

    de plus si je desactive ma conditionnelle, le script marche... j'ai essayer de changer mais ca na marche pas mieu : /

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par pikaspike Voir le message
    mon formulaire s'appelle "Form" et de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms['name'].elements['name_el'].attribut
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.name.name_el.attribut
    ne revient il pas au meme?
    Pas tout à fait, car la 2° syntaxe est dépréciée.

    De toutes façons, tu n'utilises aucune de ces 2 syntaxes
    Si ton form s'appelle 'Form' =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['Form'].elements['code_cr'].value
    par exemple ...

    A+

  5. #5
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Par défaut
    je viens de récrire mes methode de façon plus appréciable
    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
     
    // JavaScript Document
    function choose_nature(){
    	var Name1=' etablissement__nature';
    	var Obj=document.forms['Form'].elements[Name1].name;
    	if (Obj=='Centre de Responsabilité'){// <---- c'est cette ligne qui pose problème alor que la méthode n'est meme pas appelée
    		document.forms['Form'].elements['code_cr'].value=document.forms['Form'].elements['etablissement__code'].value;		
    	}
    	return true;
    }
     
     
    function affCache(idpr)
    {
    	var pr = document.getElementById(idpr);
     
    	if (pr.style.display == "") {
    		pr.style.display = "none";
    	} else {
    		pr.style.display = "";
    	}
    }
    function PopupRecherche(param,name){ 
    	w2=open('popup.php?&Param='+param+'&Name='+name,'','toolbar=no,scrollbars=no,resizable=no,width=300,height=400,left=300,top=80'); 
    	w2.document.close(); 
    }
     
    function PopupReturn(Name)
    {
    	var eIndex=document.forms['Search'].elements['Select'].selectedIndex;
    	var texte=document.forms['Search'].elements['Select'].options[eIndex].text;
    	var cle=document.forms['Search'].elements['Select'].options[eIndex].value;
    	var val=texte+' {'+cle+'}';
    	window.opener.document.forms['Form'].elements[Name].disabled=false;
    	window.opener.document.forms['Form'].elements[Name].value=val;
    	window.close();
    	return true;
     
     
    }
    le problème persiste... je ne comprend pas en quoi une conditionnelle simple, sur une methode non appelée (dans cette page) pose problème...

    HELP!!!!

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    forms avec un s
    Il appartient à document (non à window ou opener...)

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Matthieu2000 Voir le message
    Il appartient à document (non à window ou opener...)
    +1

    Mais je crains qu'il y ait d'autres étapes préalables

    A+

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    oui alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.opener.document.forms['NomForm'].elements['nameElt'].disabled=false;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    met la fonction incriminée à la fin!
    pour voir...

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    2 choses :
    • un espace en 1° caractère d'un name ne pose pas problème ???
    • dans choose_nature() tu te positionnes sur le name=' etablissement__nature' et tu sembles t'attendre à récupérer un name='Centre de Responsabilité' => c'est pas ça qui plante le code, mais d'un point de vue logique

    A+

  11. #11
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Par défaut
    de le mettre à la fin cela ne change rien...
    chose encore plus drole... si je puis dire c'est que si je change la méthode et met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function choose_nature(){
    	var Name1=' etablissement__nature';
    	var Obj='toto';
    	if (Obj=='Centre de Responsabilité'){
    		alert('toto')
    	}
    	return true;
    }
    ca ne marche pas... alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function choose_nature(){
    	var Name1=' etablissement__nature';
    	var Obj='toto';
    	alert('toto')
    	return true;
    }
    marche...

    je n'ai pas d'alerte puique le code n'est pas appelé... je ne voie pas en quoi cette conditionnelle pose problème... SURTOUT QUE JE NE L'APPELLE PAS!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/06/2008, 18h31
  2. Réponses: 2
    Dernier message: 29/02/2008, 09h08
  3. Réponses: 10
    Dernier message: 10/12/2006, 16h26

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