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 :

fonctionnement du onchange


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 48
    Points : 31
    Points
    31
    Par défaut fonctionnement du onchange
    Bonjour à tous,

    En fait j'aimerais lorsque je clique sur une personne qui se trouve dans une liste déroulante, affiché dans un textfield (availability) la date à laquelle cette personne est disponible (accédé via ma DB dans la table t_resources).

    J'ai mis une partie du code en question mais je ne sais pas quoi mettre à la place des points d'interrogations.

    Merci d'avance pour vos réponses.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <select name="resources_list" onchange="document.getElementById('availid').value = ??????">
    
    <?
    $sql="select rsc_id, rsc_dispo, rsc_name, rsc_fname from t_resources order by rsc_name";
    $rso=$db->get_results($sql);
    
    foreach ($rso as $ro){
            $i++;
            echo '<option value="'.$ro->rsc_id.'">'.$ro->rsc_name." ".$ro->rsc_fname.'</option>';
    }
    ?>
    </select> </tr></td>
    <tr><td>Availibility :</td><td><input type="text" name="availibility" id="availid" size="11" value=""></td></tr>

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Et bien il faut que tu mette la valeur de la ligne qui est sélectionné dans ta liste
    Ca devrai t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onChange="alert('Libellé : '+this.options[this.selectedIndex].text+'\nValeur : '+this.options[this.selectedIndex].value)"
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 48
    Points : 31
    Points
    31
    Par défaut
    Merci mais en fait je n'ai pas besoin de la valeur de mon option mais de la date de disponibilité de la personne sur laquelle j'ai cliqué dans ma liste déroulante. Je n'ai aucune idée de comment faire ... peut-être que j'utilise mal mon onchange (voir code posté au dessus) ?

  4. #4
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Je ne comprend tout ton truc.
    Tu a bien une liste de personne, et quand dans cette liste tu en selectionne une tu fait une requete pour recuperé une date...
    Il te faut donc la personne selectionné pour faire ta requete et c'est bien la ton probleme non?
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="document.getElementById('availid').value = this.value"

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 48
    Points : 31
    Points
    31
    Par défaut
    Oui tout à fait !
    C'est que j'ai mal compris ton petit bout de code .
    Mais comment à partir de ton petit bout de code je peux effectuer ma requête pour aller chercher la bonne date de la bonne personne ?
    je peux faire :
    SELECT rsc_date
    FROM t_resources
    WHERE rsc_id = this.options[this.selectedIndex].value

    Excuse moi je suis totalement débutant !

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Tu n'as qu'à directement mettre la date dans le value de tes options ..

  8. #8
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Ce que tu a marqué pour ta requete est infaisable tu ne peut mélanger du Javascript avec une requete Mysql que tu fait en php, du moins pas comme tu l'as ecrit c'est beaucoup plus complexe, tu est obligé de passé par un appel de page...
    Lit d'abord les cours AJAX tu trouvera ta réponse

    Edit: Grilled par bisûnûrs, oui ou alors effectivement tu fait ta requete avant et tu stocke cette date en value
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 48
    Points : 31
    Points
    31
    Par défaut
    Merci bonne idée !

    Mais le problème c'est que j'ai parfois deux dates identiques ce qui posent problème.
    De plus, j'ai besoin de l'id de la personne pr effectuer un insert par la suite.

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ben dans ton value tu mets la date suivie de l'id et tu n'as plus qu'à faire un substring.

  11. #11
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Oui etant donné que ton ID est unique tu le concaténe avec ta date pour cette personne avec un separateur du style ID#Date
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Citation Envoyé par cerede2000
    Oui etant donné que ton ID est unique tu le concaténe avec ta date pour cette personne avec un separateur du style ID#Date
    Tu peux faire comme ça et utiliser un split, oui, mais personnellement je ferais :
    dateid ou date#id.
    Le format de la date ne change pas, alors que la longueur de l'id si, donc du coup de cette manière on peut faire un substring sans devoir tester la longueur de l'id, ce qui est beaucoup plus simple.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 48
    Points : 31
    Points
    31
    Par défaut
    Fantastique idée je l'applique de suite !

    Mais encore une petite question suite à cela : substring en php ok mais substring en javascript cmt faites vous ça dans le "onchange" !

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="document.getElementById('availid').value = this.value.substring(0,5)" // par exemple ...
    Sachant que la fonction substring ne s'utilise pas comme en PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    substring(int valdébut, int valfin)

  15. #15
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Oui effectivement je n'avait pas pensé a ce detail Bien vue Bisûnûrs
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 48
    Points : 31
    Points
    31
    Par défaut
    Merci bcp !

    Problème résolu !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/06/2010, 22h19
  2. code js empêche l'évènement onchange de fonctionner
    Par m3allem001 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/11/2009, 09h34
  3. [firefox] onchange submit ne fonctionne pas
    Par nicerico dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/09/2008, 17h27
  4. Réponses: 1
    Dernier message: 20/04/2008, 19h02
  5. onChange ne fonctionne pas sous IE7
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 06/04/2008, 13h37

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