Est-il possible d'accéder aux champs d'un formulaire "Wix Forms" avec Velo pour une autocomplétion d'adresse ?

Bonjour à toute la communauté Velo,

Je fais face à un problème qui, après de nombreux tests, semble être une limitation de la plateforme, mais j’aimerais avoir votre confirmation.

Mon objectif : Je souhaite intégrer l’API Google Places sur un champ d’adresse dans un formulaire de mon site pour offrir une saisie semi-automatique.

Le contexte : Le formulaire utilisé est un élément standard de l’application “Wix Forms”.

Le problème : Il semble impossible d’accéder aux champs de saisie (inputs) qui se trouvent à l’intérieur de l’élément “Wix Forms” via le code Velo de la page. Toute tentative pour sélectionner un champ avec $w() retourne un résultat vide, ce qui empêche d’attacher des gestionnaires d’événements comme .onInput().

Voici un résumé de tous les tests que j’ai déjà effectués :

  1. Sélection directe de l’input : En utilisant l’ID du champ (ex: #form-field-reponse_courte_5bf6), $w() ne trouve pas l’élément, ce qui mène à une erreur TypeError: ... is not a function car la variable qui le contient est vide.
  2. Utilisation des API de formulaire : En suivant la documentation de wix-forms-v2, j’ai essayé d’utiliser .onFieldValueChange() sur l’élément formulaire lui-même. Cela a échoué avec une erreur TypeError: wixForm.onFieldValueChange is not a function, suggérant que mon formulaire n’est pas du type compatible V2.
  3. Diagnostic du type de formulaire : Un test pour trouver le type de l’élément formulaire via console.log($w("#monFormulaireID").type) a échoué car le sélecteur $w() n’a même pas trouvé l’élément formulaire lui-même (erreur : “Élément introuvable”).
  4. Diagnostic par événement de clic : J’ai utilisé le code de diagnostic ci-dessous pour voir si Velo pouvait détecter un clic sur n’importe quel champ de saisie. Le code s’exécute sans erreur, mais lorsque je clique sur les champs de mon formulaire Wix Forms, absolument rien ne s’affiche dans la console.

`JavaScript// Code de diagnostic utilisé
$w.onReady(function() {
console.log(“Le mode diagnostic est prêt.”);

$w('TextInput').onClick((event) => {
    let elementId = event.target.id;
    console.log("✅ TextInput cliqué. Son ID est :", elementId);
});

$w('AddressInput').onClick((event) => {
    let elementId = event.target.id;
    console.log("✅ AddressInput cliqué. Son ID est :", elementId);
});

});`

Ma conclusion actuelle : Les champs à l’intérieur d’un élément “Wix Forms” standard sont “sandboxed” (dans une sorte de boîte noire ou d’iFrame) et sont donc complètement inaccessibles au code Velo de la page.

Ma question à la communauté :

Est-ce que ma conclusion est correcte ? Est-il vraiment impossible d’attacher des écouteurs d’événements en temps réel aux champs d’un formulaire “Wix Forms” ? Ou existe-t-il une méthode que j’aurais manquée ?

La seule solution alternative semble être de reconstruire entièrement un formulaire personnalisé avec des éléments de saisie standards, ce qui est beaucoup moins pratique.

Merci d’avance pour votre temps et votre expertise !

Hey!

Not sure if you’ll need to go through the process to integrate Google Places API, since this functionality is already available out of the box - it simply needs to be enabled