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

APIs Google Discussion :

Raffraichissement de page html après ajout de contenu dans un tableau


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Par défaut Raffraichissement de page html après ajout de contenu dans un tableau
    Hello,

    J'ai un petit script qui ajoute du contenu dans des cellules d'une table HTML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if (document.getElementById('list').rows[0].cells.length == 5){       
        var tblBodyObj = document.getElementById('list');
        var l=0;
        alert("roulement de tambour....");
        //var taille = dist.length;
        for (var i=1; i< tblBodyObj.rows.length; i++) {
            var newCell = tblBodyObj.rows[i].insertCell(-1); 
            newCell.innerHTML = dist[l]+" mètres";
            l++;
        } 
    }
    Si je ne mets pas la ligne alert, mon tableau se rempli de valeurs undifined , alors que si je mets l'alert j'ai bien mes valeurs, sous IE et Chrome.
    Sous Firefox c'est toujours undifiened.
    Y-aurait-il une bonne âme qui pourrait m'expliquer pourquoi?

    Merci à tous.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ton tableau éxiste t-il au moment de l'appel de ton script ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Par défaut
    Oui, je lui ajoute un colonne.
    Et ensuite avec le script ci-dessus je renseigne les cellules vides de cette nouvelles colonne.

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

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    non c'est le tableau dist[l] qui ne semble pas exister à ce moment là
    A+JYT

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Par défaut
    Pourtant il est declare en var global à ma function....
    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
    60
    61
    62
    63
    64
    65
    66
     
     function codeAddress(address) {
                 var tab_tr = new Array;
                 var marker;
                 var infowindow = new google.maps.InfoWindow();
                 var lat,lng;
                 var slide = document.getElementById("slider1").value*1000;
                 var dist= new Array;;
                 addColumn();
                 var j =0;
                <%  for (int i = 0; i < list.size(); i++) {
                %>
                var k = <%= i %>;
              var address =" <%= list.get(i).getAdresse()+" "+list.get(i).getVille()+" "+list.get(i).getCp() %>";
              var geocoder = new google.maps.Geocoder();
                  geocoder.geocode( { 'address': address}, function(results,
                    status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                        lat = results[0].geometry.location.lat();
                        lng = results[0].geometry.location.lng() ;
                        var posrestau = new google.maps.LatLng(lat,lng);
                        var distance = google.maps.geometry.spherical.computeDistanceBetween(pos, posrestau);
                        if (dist.length == 0){
                            j=0;
                            dist[j]=Math.round(distance);
                            //alert("j ; "+j+" /dist : "+dist[j]);
                        }
                        else if (dist.length > 0){
                            j = dist.length;
                            dist[j]=Math.round(distance);
                            //alert("j ; "+j+" //dist : "+dist[j]);
                        }
                        if (distance <= slide){
                        marker = new google.maps.Marker({
                        position: new google.maps.LatLng(lat, lng),
                        map: map
                        });
                        var infos = "<%= list.get(i).getNom() %>"+ " adresse : "+" <%= list.get(i).getAdresse()+" "+list.get(i).getVille()+" "+list.get(i).getCp() %>";
                        google.maps.event.addListener(marker, 'click', (function(marker, k) {
                            return function() {
                            infowindow.setContent(infos);
                            infowindow.open(map, marker);
                            }
                        })(marker, k));
                        }
     
                    } 
                    else {
                      alert("Geocode was not successful for the following reason: " + status);
                    }
                  });
                    k++;
                <% 
                    } 
                %>
                if ((document.getElementById('list').rows[1].cells.length == 4)){       
                    var tblBodyObj = document.getElementById('list').tBodies;
                    var l=0;
                    alert("roulement de tambour....");
                    for (var i=1; i< document.getElementById('list').rows.length; i++) {
                      var newCell = document.getElementById('list').rows[i].insertCell(-1); 
                     newCell.innerHTML = dist[l]+" mètres";//'cell '+ (tblBodyObj.rows[i].cells.length);
                     l++;
                    } 
                }
              };
    Et pour prevue quand je mets une trace le résultat apparait.
    Ou alors mon tableau est-il mal declaré?

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonsoir,
    Citation Envoyé par sekaijin Voir le message
    non c'est le tableau dist[l] qui ne semble pas exister à ce moment là
    A+JYT
    ce tableau est effectivement initialisé dans la fonction callback de ton geodecode, alors que tu t'en sers en dehors, à la suite alors que la réponse n'est pas encore forcément revenue.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Par défaut
    Comment dois-je faire pour temporiser afin d'attendre la réponse?

Discussions similaires

  1. Renvoi d'une page html apres validation formulaire
    Par morgan2b dans le forum ASP.NET
    Réponses: 0
    Dernier message: 01/02/2010, 19h13
  2. Fermer page HTML apres ouverture
    Par bcd_30 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/02/2008, 10h40
  3. Réponses: 1
    Dernier message: 24/10/2007, 14h39
  4. [MySQL] copier une page html après nettoyage dans une base mysql en php
    Par araoudiou dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/05/2007, 21h49
  5. ajout d'un tableau dans une page html après un clic
    Par jehlg dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/02/2006, 17h37

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