Javascript evenement onchange [Résolu/Fermé]

Messages postés
45
Date d'inscription
dimanche 4 octobre 2015
Statut
Membre
Dernière intervention
29 mai 2016
- - Dernière réponse : 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
Afficher la suite 

1 réponse

Messages postés
4984
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
31 octobre 2019
919
0
Merci
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.
al78310
Messages postés
45
Date d'inscription
dimanche 4 octobre 2015
Statut
Membre
Dernière intervention
29 mai 2016
-
Merci beaucoup de ta réponse super complète. Je vais me tourner vers ajax alors.Merci encore.Bon weekend