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 :

Appel d'une fonction JS sur onchange


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Par défaut Appel d'une fonction JS sur onchange
    Bonjour,

    tout d'abords je suis débutant en javascript. Donc quelque chose de simple qui a l'air de marcher pour d'autres ne marche pas pour moi.

    J'ai ma vue PHP avec une liste déroulante qui appelle une fonction js sur un onchange:

    Code php : 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
    <select name="BFAlist" id="BFAlist" onchange="bfaSelected();">
            <?php 
            $row = 0;
            if (($handle = fopen('files/FR21COMV01TBFA20121002.CSV', "r")) != FALSE) {
                while (($data = fgetcsv($handle, 1000, ";")) != FALSE) {
                    $row++;
                    $line = '<option value=\''.$row.'\'>';
                    $num = count($data);
                    for ($j=1; $j<$num; $j++) {
                        $line .= $data[$j].' - ';
                    }
                    // on enlève le dernier '-' avant de fermer la balise option
                    $line = substr($line, 0, strlen($line)-2);
                    $line .= '</option>';
                    echo $line;
                }
            }
            ?>
        </select>

    Mon modèle avec la fonction js (où j'essaie seulement d'afficher un message sur ma page):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language="Javascript">
        function bfaSelected() {
            alert('test');
            window.location = 'index.php?page=taux_bfa_ctrl&id='+selectOpt; 
        }
    </script>
    Et mon controleur:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    include('model/taux_bfa_model.php');
     
    include('view/taux_bfa_view.php');

    Aucun message 'test' ne s'affiche...

    J'ai essayé avec un onselect, même résultat...

  2. #2
    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
    Le code PHP ne nous intéresse pas. C'est le code HTML + JavaScript généré (celui affiché par le navigateur) qu'il faut nous montrer.
    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

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Par défaut
    A d'accord, voilà:

    Code html : 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
    !DOCTYPE html>
    <html>
        <head>
            <meta charset=ISO-8859-1 />
            <link rel="stylesheet" type="text/css" href="css/style.css" />
            <title>Liaison AS400</title>
        </head>
     
        <body>
     
            <div id="top"></div>
    <div id="menu">
        <a href="index.php?page=taux_bfa_ctrl" title="Gestion des taux de BFA">taux de BFA</a>
    </div>
    connexion AS400 réussie.<br><div id="main">
    <script language="Javascript">
    function bfaSelected() {
            alert('test');
             window.location = 'index.php?page=taux_bfa_ctrl&id='+selectOpt; 
        }
    </script>    
    <h1>Gestion des taux de BFA</h1>
     
     
    <form method="post" action="index.php">
    <input type="hidden" name="page" value="taux_bfa_ctrl" />
     
    <table id="listBFA">
    <tr>
        <td>Choisissez: </td>
        <td>
        <select name="BFAlist" id="BFAlist" onchange="bfaSelected();">
            <option value='1'>plein de valeurs ici</option>    </select>
        </td>
    </tr>
    </table>
    </body>
    </html>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    aucun problème en vue...
    Le code ci-dessus semble fonctionner (affichage de l'alerte "test").

    A part remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="Javascript">
    en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript">
    Tu as sûrement d'autres scripts JavaScript sur ta page, non ?
    L'un d'eux doit poser problème.

  5. #5
    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
    Salut.

    Il vient d'où le selectOpt dans la fonction ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Par défaut
    Ah oui pardon j'ai voulu mettre que le minimum nécessaire et du coup j'en oublie du code:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function bfaSelected() {
            alert('test');	
            var selectElmt = document.getElementById(selectId);	
            var selectOpt = selectElmt.options[selectElmt.selectedIndex].value;
     
             window.location = 'index.php?page=taux_bfa_ctrl&id='+selectOpt; 
        }

    Et j'avais bien une autre fonction js juste avant celle là, mais je viens de la mettre en commentaire, et mon message 'test' ne s'affiche toujours pas.

  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
    S'il y a bien plusieurs options dans ton select (le onchange ne se déclenche qu'en changeant d'option), il reste cette piste :
    Citation Envoyé par jreaux62 Voir le message
    Tu as sûrement d'autres scripts JavaScript sur ta page, non ?
    L'un d'eux doit poser problème.

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

Discussions similaires

  1. Appel d'une fonction JS sur l'attr. d'une balise
    Par JYDARTHA dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/04/2015, 20h30
  2. appel a une fonction membre sur un non-object
    Par totensai dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2012, 22h43
  3. appel d'une fonction en cliquant sur un lien
    Par pazaroti dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 17/04/2007, 13h20
  4. appel d'une fonction sur autre page
    Par champion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/03/2007, 14h37
  5. [XSLT] appel d'une fonction javascript "onchange" d'un input text
    Par loukili81 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 25/12/2006, 18h14

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