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 :

fichier contenant fonction


Sujet :

JavaScript

Vue hybride

Air P-E fichier contenant fonction 14/10/2010, 12h01
redo_log Lors de l'appel de ta... 14/10/2010, 12h15
vermine C'est quoi parametre ? C'est... 14/10/2010, 12h21
Bovino Tu veux externaliser la... 14/10/2010, 13h33
Air P-E Merci de vos réponses ! ... 14/10/2010, 13h46
vermine Oui c'est à ça que je... 14/10/2010, 14h19
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 200
    Par défaut fichier contenant fonction
    Bonjour,

    Sur des éléments html j'ai des "onchange", "onload", "onclick" etc.
    Quelle est la meilleure façon pour externaliser toutes ces fonctions dans un fichier js séparé ? (sachant que j'ai besoin parfois de passer des paramètres...)

    pour le moment j'ai un fichier avec un contenu de ce style :
    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
    window.onload = function() {
     
        document.getElementById('un_id').onclick = function() {
            alert('Not implemented yet !');
            return false;
        };
     
        document.getElementById('encore_un_id').onclick = function() {
            alert('Hello le monde !');
            return false;
        };
     
        document.getElementById('id').onchange = function(parametre) {
            if (parametre === 1)
                alert('OK !');        
     
            return false;
        };
    };
    Quand je n'ai pas de paramètre a passer, c'est nickel ! Quand j'en ai comme la dernière fonction, comment dois-je m'y prendre ?

  2. #2
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    Citation Envoyé par Air P-E Voir le message
    Bonjour,

    Sur des éléments html j'ai des "onchange", "onload", "onclick" etc.
    Quelle est la meilleure façon pour externaliser toutes ces fonctions dans un fichier js séparé ? (sachant que j'ai besoin parfois de passer des paramètres...)

    pour le moment j'ai un fichier avec un contenu de ce style :
    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
    window.onload = function() {
     
        document.getElementById('un_id').onclick = function() {
            alert('Not implemented yet !');
            return false;
        };
     
        document.getElementById('encore_un_id').onclick = function() {
            alert('Hello le monde !');
            return false;
        };
     
        document.getElementById('id').onchange = function(parametre) {
            if (parametre === 1)
                alert('OK !');        
     
            return false;
        };
    };
    Quand je n'ai pas de paramètre a passer, c'est nickel ! Quand j'en ai comme la dernière fonction, comment dois-je m'y prendre ?
    Lors de l'appel de ta fonction, tu peux directement inclure ton parametre avec sa valeur.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="nom" id="id" onchage="taFonction(document.getElementById('idDeTonElement').value);" >

  3. #3
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    C'est quoi parametre ? C'est le value du champ ? Essayez avec this.value alors.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par redo_log
    Lors de l'appel de ta fonction, tu peux directement inclure ton parametre avec sa valeur.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="nom" id="id" onchage="taFonction(document.getElementById('idDeTonElement').value);" >
    Tu veux externaliser la fonction en la plaçant en attribut ???
    Citation Envoyé par Air P-E
    Quelle est la meilleure façon pour externaliser toutes ces fonctions dans un fichier js séparé ? (sachant que j'ai besoin parfois de passer des paramètres...)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 200
    Par défaut
    Merci de vos réponses !

    @redo_log :
    Oui je sais, c'est ce que j'ai fait en premier lieu mais si j'ai plusieurs actions à effectuer, je suis obligé de faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="nom" id="id" onchage="taFonction(document.getElementById('idDeTonElement').value); uneAutreFonction(document.getElementById('autreID').value);" >
    Ce qui est moyen si tu es as plusieurs à mettre comme ça ! Et puis j'aimerais vraiment séparer l'html du javascript !

    @vermine :
    Pas tout à fait, dans mon code, ça correspond plutôt à l'objet SELECT, pas sa valeur. Mais en faisant un this ça ne fonctionne pas !
    Tu parles bien de faire ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    window.onload = function() {
        document.getElementById('id').onchange = function() {
            if (this.value=== 1)
                alert('OK !');        
     
            return false;
        };
    };
    Mais pour mon exemple actuellement je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    window.onload = function() {
        document.getElementById('id').onchange = function() {
            var truc = document.getElementById('id')
            if (truc.value=== 1)
                alert('OK !');        
     
            return false;
        };
    };
    Ce qui fonctinne très bien si on veut travailler sur l'élément en question vu qu'on a juste à le récupérer via son id.

    En fait je pose cette question plus pour une configuration comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    window.onload = function() {
        document.getElementById('id').onchange = function(textAAfficher) {
                 document.getElementById('id').value = textAAfficher;
     
            return false;
        };
    };
    en admettant que 'id' correspond à l'id d'une textarea et 'textAAfficher', le texte avec lequel remplir la textarea.

    Vous voyez le truc ? Je sais pas comment passé le texte en paramètre !

    Edit :
    Bovino, je ne comprends pas exactement ce que tu veux dire !

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Oui c'est à ça que je pensais. D'où vient le textAAfficher ? Je veux dire, il se trouve bien quelque part sur la page ?

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 200
    Par défaut
    Citation Envoyé par vermine Voir le message
    Oui c'est à ça que je pensais. D'où vient le textAAfficher ? Je veux dire, il se trouve bien quelque part sur la page ?
    textAAfficher serait un texte renvoyé par une requête Ajax.
    Si je récupère mon texte par une requête ajax et que j'ai envie de modifier le contenu d'une textarea, lors d'un clique sur celui-ci (par exemple, pourquoi pas après tout ! ) comment s'y prendre ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/09/2014, 11h11
  2. Réponses: 9
    Dernier message: 29/04/2008, 13h38
  3. Réponses: 2
    Dernier message: 03/06/2005, 11h01
  4. Trouver un fichier contenant une chaine ?
    Par narmataru dans le forum Linux
    Réponses: 2
    Dernier message: 29/04/2004, 10h49
  5. Fichier de fonctions globales
    Par PEM dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/07/2002, 21h35

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