PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → ZoneRepetee et Ajax
ZoneRepetee et Ajax
Débuté par Christian, 25 mar. 2019 18:37 - 4 réponses
Posté le 25 mars 2019 - 18:37
Bonjour,
Dans une page WEBDEV j'ai une grande image et à côté une zone repetee avec des miniatures.
En cliquant sur une miniature je souhaite que la grande image soit chargée de l'image version grande de la miniature.
Ds ma BDD j'ai tous les chemins des images miniatures et grandes.

Dans la zone repetee j'ai caché un bouton avec comme code

Code derriere le OnCLick sur la miniature

ExécuteTraitement(BTN_SansNom1,trtClic)


Code derriere le bouton

HExécuteRequête(REQ_Img_Pour_Un_Produit_Un_Format_Un_Num_Photo,hRequêteDéfaut,gnIdProduit,ZR_GalerieColonne.ATT_NumPhoto,2)
//Recup premiere img en 700 1000
IMG_GdeImg= REQ_Img_Pour_Un_Produit_Un_Format_Un_Num_Photo.CheminPhoto
IMG_GdeImg..TexteAlternatif = REQ_Img_Pour_Un_Produit_Un_Format_Un_Num_Photo.AltImg


Si j'active AJAX sur le bouton l'image n'est pas mise à jour

Si je desactive AJAX sur le bouton l'image est bien mise à jour mais la page est rechargée entierement

Avez vous une idée pour mettre à jour cette image sans avoir à recharger la page entière ?

Merci
Membre enregistré
31 messages
Popularité : +1 (1 vote)
Posté le 26 mars 2019 - 08:46
Bonjour Christian,

La solution pour moi est de passer par le code navigateur pour modifier ton image lors du clic sur ta zone répétée.

Pour tester, essaye de rentrer un chemin en dur pointant vers ton image dans le code navigateur du bouton de ta ZR. Si ton image est bien affichée, alors il te suffira de construire et stocker le chemin de ton image en code serveur puis de le récupérer pour l'affecter à ton champ image dans le code "Retour de traitement ajax".
Posté le 26 mars 2019 - 09:47
Bonjour Marc,

merci pour ta réponse suite à de nombreux tests j'ai trouvé ma solution qui fonctionne mais que je ne trouve pas propre

j'ai ajouté un ZTR caché sur ma page dans lequel j'ecris le chemin

Ensuite ds le "Retour Ajax" du bouton

IMG_GdeImg = RépertoireWeb()+ "\"+ZTR_cheminImg


Si jamais vous avez une solution plus propre avec des variables mis ds une COL ou je ne sais où car Google déteste les champs caché pour le SEO
Membre enregistré
31 messages
Popularité : +1 (1 vote)
Posté le 26 mars 2019 - 10:53
Voici la manière plus propre :

- Créer une variable globale dans le projet (ex : CheminImage est une chaine)

- Dans le code serveur du bouton, affecter à cette variable le chemin de l'image

- Dans le retour Ajax, insérer le code suivant :

IMG_GdeImg = AJAXExecute(RenvoyerVariableServeur,"CheminImage")


Code la méthode "RenvoyerVariableServeur" :

RenvoyerVariableServeur(chnomvar est une chaîne)
RENVOYER {chnomvar,indVariable}


C'est pour moi la manière la plus propre de réaliser votre fonctionnalité.
Message modifié, 26 mars 2019 - 10:54
Membre enregistré
35 messages
Popularité : +2 (2 votes)
Posté le 26 mars 2019 - 14:36
Merci Marc :merci: