Plusieurs boutons, une seule réponse
Poser des boutons dont un seul reste choisi à la fois, chacun à sa place sur la page, tous rattachés à la même question.
Résumé
Les petits ronds à choisir : monsieur ou madame, oui ou non, matin ou après-midi. Si le lecteur en choisit un autre, le premier se libère tout seul, et la feuille ne montre donc jamais deux réponses à une même question. Chaque rond se place où vous voulez, en face de son propre intitulé. Vous pouvez aussi décider qu'une fois l'un d'eux choisi, le lecteur garde toujours une réponse.
Techniquement
Demandé avec
"type": "radio_group"
Le groupe est un seul champ /FT /Btn avec le bit radio posé et un /Widget par bouton en dessous ; chaque bouton est un emplacement de la page qui reprend ce champ unique à son propre nom d'état coché. Chaque bouton déclare donc son rectangle et sa valeur, et l'encadrement, le fond et les autres réglages communs valent pour le groupe entier. La valeur de départ et celle que rétablit une remise à zéro se disent par le nom du bouton. La marque affichée se choisit parmi cinq symboles, le disque plein par défaut. Un verrou facultatif garde une réponse en place une fois qu'un bouton est choisi.
Schéma de la requête
Clés obligatoires : name, chaîne ; options, tableau d'objets à value (chaîne, distincte de celle des autres boutons et de Off) et rect, tous deux obligatoires. Facultatives propres au groupe : selected, valeur du bouton retenu au départ ; default_selected, valeur du bouton que rétablit une remise à zéro ; symbol, valant check, cross, circle, diamond ou square (absent : le disque plein) ; no_toggle_to_off, booléen à false, qui garde une réponse une fois un bouton choisi. Facultatives communes à tous les champs : read_only, required, no_export, booléens à false ; background ; border (width obligatoire, color en lumière, style) ; tooltip, chaîne, absente n'écrivant aucune entrée de ce genre ; mapping_name, chaîne, nom sous lequel un formulaire envoyé rapporte la réponse, porté par le groupe et non par un bouton ; flags, les indicateurs décrits sur la page du champ de texte, portés par chaque bouton du groupe, leur absence les imprimant sans rien dire d'autre ; triggers, une action par moment, les dix étant énumérés sur la page du champ de texte ; pages, défaut vide ; relative_to. Refus croisés : une couleur CMJN ou d'un espace nommé dans border.color ; une description, qui dit ce qu'un widget énonce et qu'un groupe se voit refuser, ses boutons ayant chacun la leur. Le groupe déclare ses rectangles dans ses options : il n'a pas de rect à lui.
Une requête entière qui crée un PDF
{
"items": [
{
"type": "radio_group",
"name": "delivery",
"options": [
{"value": "morning", "rect": {"llx": 72, "lly": 700, "urx": 86, "ury": 714}},
{"value": "afternoon", "rect": {"llx": 72, "lly": 676, "urx": 86, "ury": 690}}
],
"border": {"width": 0.75}
}
]
}
Champs de formulaire
Un champ que le lecteur remplit Une case que le lecteur coche Une liste dans laquelle le lecteur choisit L'emplacement réservé à une signature Un bouton sur lequel le lecteur appuie
Où aller ensuite
Toutes les clés JSON d'une requête, en une page Les vingt-deux autres choses que l'on peut dessiner