Les champs sont les éléments constitutifs de votre formulaire. Ils peuvent lire des données (à partir d'un enregistrement onOffice chargé), afficher (les données saisies par l'utilisateur du formulaire) et enregistrer (dans un nouvel enregistrement onOffice ou un enregistrement existant) lors de l'envoi.
Cette page offre un aperçu de tous les types de champs disponibles et de leurs options. Dans la vidéo de démarrage rapide « Modifier un formulaire et ses champs », vous découvrirez les principales fonctionnalités en 5 minutes.
Une fois que tu as enregistré un formulaire, tu trouveras la liste des champs dans les paramètres du formulaire. Clique sur « Ajouter un champ » pour créer un nouveau champ.
Vous pouvez organiser les champs dans l'ordre souhaité par glisser-déposer. En cliquant sur l'icône en forme de crayon, vous ouvrez les paramètres du champ.
> 💡 Les champs peuvent être ajoutés plusieurs fois. Si vous avez deux champs identiques (même type de champ + même nom de champ) dans le formulaire, seul le dernier sera utilisé lors de l'envoi.
Lors de la création d’un champ, vous sélectionnez d’abord le type de champ. Ce choix détermine la fonction du champ et les options supplémentaires disponibles.
| Type de champ | Nom du module | Exemples de champs |
|---|---|---|
| Bien immobilier | estate |
Type de bien, prix d'achat, surface habitable, localité, rue |
| Adresse | address |
Prénom, nom, e-mail, téléphone, rue |
| Activité / Carnet d'agent | agentsLog |
Type d'action, Type d'opération, Remarque |
| Tâche | task |
Objet, Description, Statut, Responsable |
| Rendez-vous | calendar |
Objet, Début/Fin, Statut, Lieu |
| Critère de recherche | searchcriteria |
Surface habitable de/à, Type de bien, Région |
| Projet | project |
Nom du projet, Statut |
> Les champs individuels disponibles dans chaque module proviennent directement de votre administration onOffice. Si un champ manque, vérifiez dans onOffice sous Outils → Paramètres → Administration si le champ y est activé.
| Type de champ | Objectif |
|---|---|
| En-tête | Texte en gros caractères servant d'en-tête de section |
| Description | Texte plus long contenant des explications, résolu par macro |
| Saut de ligne | Sépare les formulaires en plusieurs étapes |
| Ligne de séparation | Ligne visuelle pour la structuration |
| Bouton de lien | Bouton stylisé renvoyant vers une URL externe |
| Image | Image intégrée (URL) |
| Vidéo | Vidéo YouTube ou Vimeo intégrée |
| Accordéon | Zone dépliable contenant du contenu au choix |
| ChatGPT | Champ générateur de texte IA |
| Télécharger un fichier | Champ de téléchargement de plusieurs fichiers (voir ci-dessous) |
| Télécharger un fichier | Lien de téléchargement pour les fichiers de l'ensemble de données (voir ci-dessous) |
| Lien avec l'ensemble de données | Contrôle la relation entre l'adresse et le bien immobilier |
Dans l'onglet « Libellé », vous définissez le libellé du champ dans le formulaire :
_Vorname, que cherches-tu ? ».;) que le navigateur affiche en suggestion automatique lors de la saisie.
Quelles sont les valeurs de préremplissage d'un champ ? Il existe quatre sources, classées par ordre de priorité de faible à forte :
> Default-Wert ← remplacé par ← Wert aus onOffice-Datensatz ← remplacé par ← URL-Parameter ← remplacé par ← Erzwungener Wert
?modul[feldname]=wert.;.;). Le formulaire ne peut être envoyé que si la valeur du champ correspond à l'une d'entre elles. En cas de sélection simple/multiple, seules ces options s'affichent.> 🔑 Important pour la sélection simple/multiple : vous devez utiliser les désignations de clés internes issues de l'administration onOffice — par exemple ind_Schl_2759, et non le texte en clair affiché.
Plus de détails : Préremplissage et chargement des enregistrements.
Pour les champs numériques (prix d'achat, surface habitable, nombre de pièces, etc.), il existe des options supplémentaires :
1000 pour des incréments de mille pour le prix d'achat, 0,0001 pour 4 décimales.m², €, kg, etc.> 💡 Sur smartphone, le clavier numérique s'affiche automatiquement à la place du clavier alphabétique. Les séparateurs de milliers (point) sont insérés automatiquement.
Pour les listes de sélection (type d'objet, type de contact, type de commercialisation, etc.), il existe quelques options spéciales :
Au lieu des libellés onOffice d'origine, tu peux attribuer tes propres libellés aux options — par exemple « Oui »/« Non » au lieu de ja/nein, ou des traductions en anglais. Tu définis les correspondances dans les paramètres de champ pour chaque clé.
> 💡 Cas d'utilisation du multilinguisme : si vous gérez une copie de formulaire en anglais/espagnol, vous remplacez ici les libellés des clés pour chaque option (apartment → Apartamento, villa → Townhouse) — sans toucher à l'administration onOffice. Pour en savoir plus, consultez Formulaires multilingues.
Vous ne souhaitez pas que toutes les options soient visibles dans le formulaire ? Dans les paramètres du champ → paramètres supplémentaires du champ → « Valeurs autorisées », vous pouvez définir une liste blanche — toutes les autres options seront masquées.
Format : valeurs clés séparées par des points-virgules — par exemple ind_3673;ind_3675.
Trouver les valeurs-clés : Dans le formulaire, clic droit → Inspecter → Développer <select> → les balises <option> indiquent data-selectable-data-value (clé) + texte en clair (libellé).
> 💡 Cas particulier des champs utilisateur : pour les champs utilisateur à sélection unique (par ex. « Responsable du bien immobilier »), les clés sont des identifiants utilisateur internes tels que 23, 45. Tu ne peux les trouver que via l'astuce DevTools-Inspect — onOffice ne les affiche pas dans l'administration.
Pour les champs comportant de nombreuses options (par exemple les champs utilisateur), tu peux autoriser l'affichage d'un champ de recherche lorsque l'on clique dans le champ, permettant ainsi au visiteur de saisir des valeurs.
Par défaut, une soumission de sélection multiple remplace complètement la valeur existante dans onOffice — toutes les balises existantes sont remplacées. Cela est souvent indésirable pour les adresses existantes (vérification des doublons d'adresses, voir Fusionner plusieurs enregistrements) : un client qui a déjà « Type de contact = Acheteur » et qui remplit un formulaire de newsletter ne doit pas se retrouver soudainement avec uniquement « Type de contact = Newsletter ».
Solution : Dans les paramètres du formulaire → section « Écrire les valeurs », activez l'option « Ajouter / supprimer des valeurs multi-sélection ».
> 💡 Différence par rapport au champ caché par défaut : le champ caché avec valeur par défaut ne s'applique qu'aux enregistrements NOUVEAUEMENT créés. Le paramètre Ajouter/Supprimer s'applique également aux enregistrements existants via la vérification des doublons — c'est exactement ce dont vous avez besoin pour les workflows de newsletter/balises.
Les champs à sélection multiple affichent désormais la hiérarchie des options (parent/enfant). Si vous sélectionnez un élément parent, les éléments enfants sont automatiquement cochés — et inversement.
Les champs peuvent se compléter automatiquement les uns les autres — par exemple, un champ « Prénom » qui génère des suggestions en fonction du titre et du nom de famille, ou un champ de description de profil de recherche qui est automatiquement compilé à partir de plusieurs champs.
Configuration : Paramètres des champs → Libellé → Sélection multiple « Saisie semi-automatique » → sélectionner d'autres noms de champs dans le formulaire. Lorsque vous modifiez les champs sources, la balise se complète automatiquement avec leurs valeurs.
📖 Pour en savoir plus, consultez Champs calculés.
Si tu ajoutes le même champ deux fois dans le formulaire (par exemple, le titre en haut et en bas), c'est toujours le champ ajouté en dernier qui prévaut lors de la soumission — même s'il est vide. Cela remplace le champ du haut par rien → perte de données.
À faire à la place :
Anrede2, Vorname2, Name2, Strasse2, etc. (souvent à activer dans l'administration onOffice sous « Données de base 2 »)anrede_2, vorname_2, name_2)> 💡 Les champs Données de base 2 sont désactivés par défaut dans de nombreuses versions d'onOffice — avant de les utiliser dans le formulaire propform, activez-les dans onOffice sous Outils → Paramètres → Administration → Adresses.
Sélectionnez le type de champ « Télécharger un fichier » dans un module onOffice (Adresse ou Bien immobilier). Le visiteur peut télécharger un ou plusieurs fichiers qui seront directement enregistrés dans l'enregistrement onOffice.
Foto, Aushang, Energieausweis, Grundriss, etc. — est automatiquement mappé à l'onglet interne/externe approprié et au type de fichier standard onOffice. Valeur par défaut : « Document interne »._Name_Vorname ou Geldwaeschedoku_Name. En cas de téléchargement multiple, les extensions _1, _2, _3 sont automatiquement ajoutées.> 💡 Adresse vs. Bien immobilier : les champs de téléchargement de fichiers dans le module Adresse offrent moins d'options (nom de fichier + texte libre) que dans le module Bien immobilier (tout ce qui précède). Il s'agit d'une spécification de l'API onOffice.
Si un champ de téléchargement de fichiers est associé à une caractéristique de document, le téléchargement multiple est automatiquement limité à un seul fichier — règle de l'API onOffice : 1 caractéristique = 1 fichier.
Solutions de contournement :
Particularité du navigateur Apple : sur iPhone, les options de sélection unique désactivées ne sont pas masquées, mais affichées en gris (norme HTML). Si tu souhaites éviter cela : utilise « Valeurs autorisées » (liste blanche) au lieu de désactiver les options individuelles — les options non autorisées seront alors complètement supprimées du menu déroulant.
Très pratique pour de nombreuses photos ou plusieurs pages PDF :
Dans les paramètres du champ, vous pouvez également configurer un champ de fichier en tant que champ de téléchargement (pour les fichiers déjà existants dans onOffice) ou en tant qu'hybride (téléchargement + chargement).
Dans les paramètres du champ de fichier, cochez la case « Champ de signature ». Au lieu du sélecteur de fichiers standard, un tablet numérique s'affiche dans le formulaire — le visiteur signe avec la souris ou le doigt.
_dateipfadAdressfeld et _dateipfadObjektfeld vous permettent d'insérer la signature dans les modèles PDF d'onOffice — idéal pour les déclarations des locataires, les mandats d'urgence, les procurations, etc.> 💡 Option associée : cocher « Empêcher l'ajout de pièces jointes pour les fichiers de ce champ » empêche que le fichier PNG de la signature soit joint à l'e-mail de notification — utile si la signature apparaît déjà dans le descriptif PDF et ne doit pas être envoyée en double.
📺 Voir la vidéo : 9. Ajouter un champ de signature au formulaire
> 📎 Les images HEIC provenant d'un iPhone sont automatiquement converties au format JPEG. > 📎 Limite de taille des fichiers : 128 Mo par fichier (limite nginx côté serveur). Si les fichiers individuels sont plus volumineux, l'utilisateur reçoit une erreur serveur avant le téléchargement proprement dit.
Les champs de téléchargement vous permettent de mettre à disposition des visiteurs du formulaire des fichiers déjà enregistrés dans onOffice pour qu'ils puissent les télécharger. Pratique pour les espaces de données/téléchargement numériques.
📺 Voir la vidéo : 12. Télécharger des fichiers
Vous choisissez parmi différents sélecteurs :
Expose_Name_Vorname.pdfLes champs du module de critères de recherche doivent être explicitement définis comme champs de critères de recherche dans l'administration onOffice, sinon ils ne seront pas proposés par propform.
Les champs tels que « Surface habitable », « Prix d'achat », « Nombre de pièces » ont une valeur de départ et une valeur d'arrivée dans les critères de recherche. Vous pouvez :
?searchcriteria[wohnflaeche__von]=50&searchcriteria[wohnflaeche__bis]=80Le champ multisélection « Supplément régional » présente souvent une arborescence très étendue (code postal, quartiers, régions). En mode « Alternatif », les éléments enfants ne s’affichent pas directement dans le formulaire, mais sont automatiquement activés lorsque l’élément parent est sélectionné. Le formulaire reste ainsi rapide et clair.
Texte long servant de titre de section. Macros activées — par exemple « Demande concernant _objektart à _ort ».
Texte explicatif plus long, généralement entre les champs. Macros activées. Dans les descriptions, vous pouvez utiliser des macros propform telles que _pfButton(...) ou _pfLink(...) pour créer des boutons et des liens — voir macros propform.
> 💡 Dans les champs de description, vous pouvez également intégrer des iFrames — par exemple, une iFrame de prise de rendez-vous Timum. Pratique pour intégrer des fonctionnalités externes directement dans le formulaire.
Les champs de description autorisent l'utilisation étendue du HTML — filtré via HTMLPurifier (sécurisé contre les attaques XSS, mais configuré de manière généreuse) :
<strong>, <b>, <em>, <i>, <u>, <small>, <mark>, <sub>, <sup>, <s>, <ins>, <del>, <br>, <hr>, <p>, <h1>–<h6><ul>, <ol> et <li><table>, <thead>, <tbody>, <tr>, <th>, <td> (avec border, cellpadding, cellspacing, colspan, rowspan)<a href="..." target="_blank|_self|_top" class="..." type="..."><img src="..." width height alt style><div class style>, <span class style>, <blockquote>, <cite><section>, <nav>, <article>, <aside>, <header>, <footer>, <address>, <figure>, <figcaption><video controls preload poster> avec <source src type><iframe src width height title allow allowfullscreen frameborder>style : largement autorisés (y compris !important, préfixes de fournisseurs, propriétés propriétaires) — tu peux définir les couleurs, les tailles, les marges, les bordures, les arrière-plans, Flexbox/Grid, les transformations, etc.> 🔒 Sécurité : les balises <script> et les gestionnaires d'événements (onclick=, onload=, etc.) sont bloqués (protection XSS). Les iFrames ne sont autorisées que via HTTPS. Vous ne pouvez donc pas injecter n'importe quel code JavaScript.
Résolution des macros dans les champs de description : entièrement active — vous pouvez utiliser _calculate(IF(...)) pour du contenu conditionnel, intégrer dynamiquement des champs issus de l'ensemble de données, ou utiliser _pfGetSearchCriteriaInformation pour les tableaux de profils de recherche.
Divise le formulaire en étapes multi-étapes. Par champ de saut de page :
Simple ligne visuelle. Pas de contenu, uniquement pour la structure.
Bouton stylisé renvoyant vers une URL externe. Vous pouvez ajouter à l'URL les ID/UUID actuellement chargés — par exemple « Accéder au formulaire suivant avec les enregistrements nouvellement créés ». Options :
Image intégrée via une URL externe.
Vidéo YouTube ou Vimeo intégrée. Pour Vimeo, il est également possible de spécifier le paramètre Privacy-Hash.
Zone repliable. Le contenu peut provenir de n'importe quel autre champ. Options :
Champ spécial pour la génération de texte par IA — le visiteur saisit des données, ChatGPT génère le texte et l'écrit dans un champ onOffice. La configuration s'effectue dans les paramètres du formulaire sous « Génération de texte ChatGPT ».
Si votre formulaire crée ou modifie simultanément une adresse et un bien immobilier, vous avez besoin d'une liaison entre les deux — par exemple « Propriétaire », « Acheteur », « Locataire », « Personne intéressée ».
Dans les paramètres du formulaire, vous pouvez choisir une liaison statique. Si vous avez besoin d’une liaison dynamique (par exemple en fonction d’un champ de sélection), ajoutez un champ de liaison d’enregistrements au formulaire.
Peu importe que vous choisissiez le type de champ « Bien immobilier » ou « Adresse ».
Valeurs possibles :
| Valeur | Signification |
|---|---|
estate:address:owner |
Bien immobilier ↔ Propriétaire |
estate:address:buyer |
Bien immobilier ↔ Acheteur |
estate:address:renter |
Bien immobilier ↔ Locataire |
estate:address:tenant |
Bien immobilier ↔ Résident/Utilisateur |
estate:address:contactPerson |
Bien immobilier ↔ Agent immobilier en tant qu'interlocuteur |
estate:address:contactPersonAll |
Bien immobilier ↔ Interlocuteurs (tous) |
estate:address:interested |
Bien immobilier ↔ Personne intéressée |
calendar:address |
Rendez-vous ↔ Adresse |
calendar:estate |
Rendez-vous ↔ Bien immobilier |
agentsLog:address |
Activité ↔ Adresse |
agentsLog:estate |
Activité ↔ Bien immobilier |
address:estate:tipp |
Informateur ↔ Bien immobilier |
address:searchcriteria |
Adresse ↔ Critère de recherche |
address:estate:offer |
Adresse ↔ Offre immobilière |
address:estate:contacted |
Adresse contactée ↔ Bien immobilier |
project:address |
Projet ↔ Adresse |
project:estate |
Projet ↔ Bien immobilier |
project:agentslog |
Projet ↔ Activité |
project:calendar |
Projet ↔ Rendez-vous |
project:task:customer |
Projet ↔ Tâche (base de données clients) |
task:address |
Tâche ↔ Adresse |
task:estate |
Tâche ↔ Bien immobilier |
> 💡 Souvent, vous souhaitez combiner le champ de liaison avec « Valeur forcée » + « Masquer le champ », afin que le visiteur ne le voie pas, mais que la liaison soit tout de même établie.
Continuer vers Préremplissage et chargement des enregistrements 👉