Javascript evenement onchange

Résolu/Fermé
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016 - 13 déc. 2015 à 00:16
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016 - 13 déc. 2015 à 18:09
Bonjour à tous !
Je découvre actuellement javascript. Je vous expose mon problème.
Je voudrais créer un moyen de "surveiller" une cellule d'un tableau situé sur un site web.
J ai donc créer une page web avec le tableau dans un iframe (code donné par le webmaster). Dans ce tableau, il y a des champs vides qui se remplissent automatiquement (avec des nombres), sans qu'on ait besoin de rafraichir la page.
Pour "surveiller" ces champs vides qui vont se remplir à n'importe quel moment, et ensuite pouvoir manipuler ces nombres, j'avais tout d'abord penser à utiliser l’événement "onchange" .
Mais maintenant que je relis la description de cet événement " Se produit lorsque l'utilisateur modifie le contenu d'un champ de données. "
Or ce n'est pas l'utilisateur qui fera apparaitre le nombre, c'est le serveur.
Ma question est donc, le gestionnaire onchange fonctionnera t il pour détecter apparition du nombre?
Si non, comment faudrait-il procéder? Ou voir même existe il un meilleur langage pour manipuler des tableaux remplis de données streamées?

J’espère avoir été clair...
Merci à ceux qui prendront le temps de me répondre.
Bon dimanche !
Cordialement

1 réponse

le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 1 056
13 déc. 2015 à 15:44
Salut,

Déjà pour accéder à un iframe, il faut cibler cet iframe en particulier, vu que le navigateur le considère comme une autre page (et non la même page).
Voir ici : http://www.xorax.info/blog/programmation/100-cibler-javascript-document-iframe.html

Ensuite, tu peux détecter le changement dans une case d’un tableau, mais il faut faire des détections de façon régulière, genre toutes les 5 minutes ou toutes les minutes (vu qu’effectivement, le "onchange" est prévu pour les champs de saisie et les formulaires seulement).

Pour détecter le changement dans un élément HTML quelconque, il faut lire le contenu une première fois (var contenuInitial = document.getElementById('IdDeTaCase').innerText) puis la relire un peu plus tard et comparer, pour voir s’il y a des changements.


À mon avis, pour faire des communications serveur<>navigateur, il faut se tourner vers de l’AJAX : c’est spécialement prévu à cet effet.

AJAX = Asynchronous JavaScript And XML.
C’est un moyen de faire communiquer le serveur et le client (navigateur) de façon asynchrone, sans avoir à recharger la page.

C’est avec ça que fonctionne Twitter, Facebook, Gmail, les tchat et même les forums de CommentCaMarche : les messages sont postés sans avoir à recharger la page.
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
13 déc. 2015 à 18:09
Merci beaucoup de ta réponse super complète. Je vais me tourner vers ajax alors.Merci encore.Bon weekend
0