Portée de variable globale
Bonjour,
j'ai un souci avec les événements et plus particulièrement entre une variable globale objet et sa modification dans un événement. Je crois comprendre que le problème provient du fait que les événements sont considérés comme des blocs (closure) et leur mise en place capture leur environnement.
Concrètement, je déclare une variable globale db qui représente un objet wrapper (JSQLEngine) dans lequel j'interface un objet SQL (SQLite en js). L'objectif de ce wrapper est une personnalisation des opérations d'extraction (sur chaîne, sur entier, liste d'enregistrements, etc.).
La base de donnée est chargée intégralement (localement) en utilisant classiquement Ajax dans l'événement onload. C'est d'ailleurs dans cet événement que la variable globale db est assignée.
L'objectif est d'enregistrer et de consulter une liste de mots dans une table SQL. Pour cela je dispose d'une zone de saisie qui me permet à la fois d'ajouter et de consulter. Le mode est déterminé par une case à cocher. Lorsque j'ajoute un mot, je ne parviens pas à le trouver alors qu'il est réellement ajouté car j'effectue une requête immédiatement après dans le même événement.
En conclusion, comment contourner la capture afin que je puisse utiliser cette variable db en référence et non pas en valeur ?
Par avance, merci de votre aide.