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

WinDev Discussion :

[WD2024] Récupération depuis champs HTML


Sujet :

WinDev

  1. #1
    Membre chevronné Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 768
    Par défaut [WD2024] Récupération depuis champs HTML
    Bonjour,

    J'essaie de récupérer des infos depuis un champ HTML (avec une carte OSM) en passant des paramètres via JS vers une fonction windev par le WL.Execute()

    Code HTML :

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    sCodeMap est une chaîne Unicode =  [
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <!-- Nous chargeons les fichiers CDN de Leaflet. Le CSS AVANT le JS -->
            <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin="" />
            <style type="text/css">
                #map{ /* la carte DOIT avoir une hauteur sinon elle n'apparaît pas */
                    height:800px;
                }
            </style>
            <title>Carte</title>
        </head>
        <body>
            <div id="map">
    	    <!-- Ici s'affichera la carte -->
    	</div>
     
            <!-- Fichiers Javascript -->
            <script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js" integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw==" crossorigin=""></script>
    	<script type="text/javascript">
                // On initialise la latitude et la longitude de Paris (centre de la carte)
                // 46.25346566757253, 6.964387471642008
                var lat = 46.25346566757253;
                var lon = 6.964387471642008;
                var macarte = null;
                // Fonction d'initialisation de la carte
     
                    // Créer l'objet "macarte" et l'insèrer dans l'élément HTML qui a l'ID "map"
                    macarte = L.map('map').setView([lat, lon], 18);
                    // Leaflet ne récupère pas les cartes (tiles) sur un serveur par défaut. Nous devons lui préciser où nous souhaitons les récupérer. Ici, openstreetmap.fr
                    L.tileLayer('https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', {
                        // Il est toujours bien de laisser le lien vers la source des données
                        attribution: 'données © <a href="//osm.org/copyright">OpenStreetMap</a>/ODbL - rendu <a href="//openstreetmap.fr">OSM France</a>',
                        minZoom: 1,
                        maxZoom: 20
                    }).addTo(macarte);
     
                    macarte.on('click', function(e) {
     
                        var lat = e.latlng.lat;
                        var lng = e.latlng.lng;
     
                            // Appel à la procédure WinDev pour transmettre les coordonnées
                   
                                WF.Execute("OSM_ClickCoordonnees");
                    
                                
            });
     
     
            </script>
        </body>
    </html>
    ]
     
    HTM_Map = sCodeMap

    et dans mon code Windev (procédure globale a la fenêtre qui contient le champ HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCÉDURE OSM_ClickCoordonnees()
     
    Trace( "test")
    Mais rien ne se passe ... si je met un "alert();" dans le code de récupération du clic, en JS j'ai bien mon clic qui est récupéré ...
    J'ai activé la coche dans le champ HTML pour autoriser les appels de langages depuis le code HTML

    Une idée

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 730
    Par défaut
    Bonjour,

    Tu ne dois pas préciser l'origine de la procédure ? Genre FEN_ContientChampHTML.OSM_ClickCoordonnees ou CPG_MesProcs.OSM_ClickCoordonnees ?

    Autre idée (pas cool) que le WF.Execute() ne fonctionne que sur des exe ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2023
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2023
    Messages : 133
    Par défaut
    Bonjour,
    je fais la même réponse qu'il y a quelques jours, voir Post #7 de cette discussion pour un exemple :

    https://www.developpez.net/forums/d2...ant-carte-osm/

    Dans votre code : WF.Execute("OSM_ClickCoordonnees")

    à remplacer par

    WL.Execute("OSM_ClickCoordonnees");

    Cdlt

  4. #4
    Membre chevronné Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 768
    Par défaut
    Dans votre code : WF.Execute("OSM_ClickCoordonnees")

    à remplacer par

    WL.Execute("OSM_ClickCoordonnees");
    Je m'étais basé sur divers exemples, dont celui là, mais où je travaille "WF" (Water Flow) est utilisé 10 fois par jour ... et un lapsus digital a remplacé WL. par WL. ...

    ça fonctionne maintenant, le soucis était vraiment entre le clavier et la chaise

    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/02/2024, 14h22
  2. [Windev 9] Savoir si un champ html est rempli ou non
    Par Romanops dans le forum WinDev
    Réponses: 3
    Dernier message: 13/12/2006, 17h39
  3. JS: Connaître le type d'un champ HTML via son nom
    Par NikoBe dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/11/2006, 11h24
  4. [PHP-JS] champ texte peut il devenir un champ html ?
    Par djedje37et28 dans le forum Langage
    Réponses: 5
    Dernier message: 28/08/2006, 09h16
  5. Champ HTML
    Par Michel_57 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 21/05/2004, 20h55

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