Merci.
Comment pensez-vous que cela pourrait fonctionner ?
Voici quelques idées que j’ai, bien qu’elles soulèvent encore certaines questions :
Bases actuelles : les espaces réservés. Mais pour l'instant, c'est tout ou rien
La structure la plus simple que je puisse imaginer pour imiter le comportement d’un formulaire serait que le « formulaire » apparaisse dans l’éditeur (le « d-editor » qui s’ouvre lorsque vous cliquez sur créer un sujet).
Dans cet éditeur, vous pourriez proposer différentes « sections », comme :
Nom
Localisation
Problème
Chaque titre de section serait un espace réservé, de sorte que lorsque l’utilisateur cliquerait dessus, le titre (par exemple, Nom) disparaîtrait.
Jusqu’à présent, la mise en place de cela est possible avec le composant de thème pour le texte d’espace réservé.
Mais cela ne suffira pas tout à fait pour obtenir un comportement de type formulaire, car les espaces réservés actuels apparaissent de manière « tout ou rien », comme je l’explique ci-dessous.
Comportement de type formulaire avec des espaces réservés. Mais comment accéder aux divs dans l'éditeur ?
Pour rendre cela plus semblable à un formulaire, chaque section doit se comporter de manière indépendante.
Actuellement, avec le composant de thème pour le texte d’espace réservé, c’est tout ou rien : si l’utilisateur clique dans l’éditeur, tous les titres d’espaces réservés disparaissent.
Ainsi, pour avoir un comportement de formulaire de base, au lieu que tous les titres apparaissent ou disparaissent ensemble, nous devrions faire en sorte que chaque section d’espace réservé se comporte de manière indépendante. Ainsi, lorsque l’utilisateur clique sur l’espace réservé « Nom », seul cet espace réservé disparaît, tandis que les autres espaces réservés (« Localisation » et « Problème ») restent.
Cela serait possible si chaque espace réservé pouvait faire partie de sa propre div avec un identifiant unique dans l’éditeur de texte. Ensuite, avec jQuery, vous pourriez afficher et masquer l’espace réservé en fonction de l’endroit où l’utilisateur a cliqué. Cela nécessite d’ajouter des divs séparées dans ce qui est actuellement une zone de texte, ce dont je ne suis pas sûr de savoir comment faire.
Question pour cette approche : Comment accéder aux divs à l’intérieur de la zone de texte de l’éditeur, afin de pouvoir réagir lorsque l’utilisateur clique dessus ?
Alternative : utiliser l'option de texte de modèle existante. Mais comment rendre le texte non modifiable ?
Une alternative probable serait que les en-têtes de section ne « disparaissent » pas lorsque l’utilisateur clique. Ainsi, les en-têtes de section (exemple : Nom, Localisation et Problème) seraient du texte qui resterait sur la page. Pour le rendre plus semblable à un formulaire, par rapport au modèle de sujet par défaut actuel :
- Le texte de l’en-tête de section ne pourrait pas être modifié par l’utilisateur (c’est-à-dire
contenteditable="false")
- Les points de rupture de section ne pourraient pas être supprimés par l’utilisateur
- Il y aurait un espace sous l’en-tête de section où il est clair que l’utilisateur peut taper. Dans le modèle par défaut actuel, ils devraient aller là où se trouve le texte, appuyer sur
entrée, pour créer un espace pour taper.
Question pour cette approche : Comment entrer du texte de modèle, mais (i) faire en sorte que ce texte ne soit pas modifiable par l’utilisateur et (ii) prévoir des emplacements clairs pour que l’utilisateur saisisse des informations sous chaque morceau de texte ?
Peut-être existe-t-il une meilleure façon d’obtenir un comportement de type formulaire ?