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 :

Test conditionnel et passage de variables javascript html


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Points : 30
    Points
    30
    Par défaut Test conditionnel et passage de variables javascript html
    Bonjour

    je cherche a effectuer des tests conditionnels dans la partie html de mon code

    html :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <p class= "rep3" width="100" id="val1" data1={{ famille  }} style= "display:none;">{{ famille }}</p>
    <p class= "rep4" width="100" id="val2" data2="" style= "display:none;"></p>
    <div id="example">{{ data2 }}</div>
    {% if data2 == "general" %}
    <a href="/one_category/all/">criteria1</a>
    {% else  %}
    {% if data2 == "ceramic" %}
    <a href="/one_category/ceramic/">criteria2</a>
    {% else  %}
    <a href="/image3/">criteria</a>
    {% endif %}
    {% endif %}

    javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
        var element = document.getElementById('val1');
        laval1 =  element.getAttribute('data1');
        var element2 = document.getElementById('val2');
        element2.setAttribute('data2', laval1);
    });
    je recupere la variable data1 et vais ensuite l'ecrire dans data2

    les tests if ne marchent pas et me renvoient vers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    href="/image3/">criteria</a>/">criteria</a>
    ca me semble pourtant correct..quelle est mon erreur ?

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Bonjour,

    juste par curiosité, c'est quoi ton langage serveur ?

    Montre-nous le code généré : ouvre la page dans ton navigateur et fais Ctrl+U. À mon avis tu fais une confusion entre l'environnement serveur et l'environnement client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% if data2 == "general" %}
    Si cette partie du code serveur repose sur la variable data2 du code client, ça ne peut pas marcher.

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 130
    Points
    9 130
    Par défaut
    voyons voir
    où est l'erreur

    1. le client ouvre son navigateur
    2. il entre une url
    3. l'url est envoyé au serveur
    4. le serveur ouvre un script
    5. il exécute
    6. il trouve une série de if
    7. exécute les tests qui soit dit en passant sont toujours conditionnel (un test non conditionnel c'est quoi ?)
    8. il finit par produire un html (ce qui n'est pas le code que tu as poste qui est de l'asp du vb du c# du ????)
    9. le html est envoyé au client
    10. le navigateur reçoit le html
    11. il le parse
    12. il créé un DOM correspondant au mieux au html reçu (pas sur que ce soit exactement ce que tu voulais...)
    13. Il parse le javascript
    14. le compile
    15. l'exécute
    16. associe une fonction à l'événement "ready"
    17. la page étant prète il génére l'événement "ready"
    18. le gestionnaire d'événement attrape cet événement et voit qu'il y a une fonction associé
    19. il crée un contexte d'exécution
    20. exécute la fonction
    21. qui récupère l'élément val1
    22. puis l'attribut data1
    23. enfin il récupère l'élément val2
    24. et fixe l'attribut data2 avec la valeur data1
    25. enfin il rends la main.


    essayons de comprendre ce qui ne marche pas

    les étapes 1 à 3 se passent sur le poste du client
    les étapes 4 à 9 se passent sur le serveur
    les étapes 10 à 25 se passent sur le poste du client.

    déjà on voit que tout n'est pas exécuté sur la même machine. il y a donc un risque que des infos ne soient dispo que sur l'une des deux machines.

    pourquoi le test échoue
    il a lieu à l'étape 7 donc sur le serveur. il vérifie la valeur d'une variable
    pour fonctionner à l'étape 7 il faut que la dite variable soit positionnée à une étape antérieur à 7 et postérieur à 3 pour être connue à ce moment là du serveur.
    Avant 4 c'est sur le poste du client que la variable est positionné le serveur ne peut la connaitre
    après 7 c'est trop tard le test est déjà effectué.

    à quelle étape est possitionné la variable ?
    étape 24

    24 est-il compris entre 3 et 7 ? (3 < 24 < 7)
    Non
    le test ne peut pas fonctionner.

    non seulement la variable est positionnée après le test mais elle l'est aussi après la réponse du serveur étape 9
    la variable est donc positioné sur le poste du client.

    Tu veux donc que ton serveur teste une variable sur le poste du client pour générer une réponse
    avant que le client ne sache qu'il doit la créer.

    comment je sens venir la question comment faire
    voici la réponse :
    • Reprends les bases du develeppement HTML (pas de ASP JSP VB PHP C# etc)
    • Fais les tutos
    • Comprends bien qui exécute quoi et quand.


    Le serveur ne pourra jamais tester une variable du client qui n'a pas encore été crée.
    A+JYT

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Points : 30
    Points
    30
    Par défaut Test conditionnel et passage de variables javascript html
    j'utilise django..

    je relie bien data1 dans le script
    je dois pouvoir ecrire de la même facon dans la partie html

  5. #5
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Montre-nous où tu initialises data2 dans ton code Django.

    Et le code généré (Ctrl+U, voir mon post précédent).

Discussions similaires

  1. Passage de variable Javascript -> Vbs
    Par david56 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/09/2013, 12h16
  2. Passage de variable javascript vers php (JS=>PHP)
    Par geforce dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/08/2010, 16h44
  3. Passage de variable javascript a php
    Par mariox dans le forum Général JavaScript
    Réponses: 34
    Dernier message: 20/02/2010, 09h45
  4. passage deux variables à partir HTML
    Par delavega dans le forum Flash
    Réponses: 8
    Dernier message: 25/04/2009, 13h26
  5. [PHP-JS] passage de variable de html vers php
    Par chartoire dans le forum Langage
    Réponses: 8
    Dernier message: 27/02/2008, 09h08

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