Utiliser un formulaire en mode consultation uniquement

Le
Alain BARTHE
Bonjour,

J'aimerais savoir s'il existe un moyen simple pour utiliser un
formulaire HTML en mode consultation.

Dans le détail :
- j'ai décrit dans un fichier JSON (peut-être plus tard YAML) les
caractéristiques des champs des tables de ma base SQL
- pour chaque champ d'une base, je spécifie un label à afficher, le type
de champ (TEXT, TEXTAREA, RADIO, CHECKBOX, ), quelques attributs
(SIZE, NAME,)
- à partir de ce fichier descriptif, je génère un formulaire HTML
classique <FORM> </FORM>, contenant des rubriques <INPUT>,
<TEXTAREA>,

Ca fonctionne correctement, mais on me demande maintenant d'ajouter une
rubrique permettant d'afficher uniquement les données, sans pouvoir les
modifier.

J'aurais aimé réutiliser le plus possible le code qui génère le
formulaire de saisie, pour générer un "formulaire d'affichage".

Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit
pas possible de modifier les champs, mais juste de les afficher ?

Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christophe Meresse
Le #21682551
On 4 mai, 11:35, Alain BARTHE
Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit
pas possible de modifier les champs, mais juste de les afficher ?



Utiliser les attributs "disabled"

Par exemple: <input type="text" name="thetext" disabled="disabled" />

Par exemple dans le code php en utilisant une variable
$mustbedisabled:
echo '<input type="text" name="thetext" '.
($mustbedisabled?'disabled="disabled" ':'').'/>';

(pas testé, il peut y avoir eventuellement des problèmes à regler au
niveau des simples/doubles quotes)

Christophe
Bruno Desthuilliers
Le #21682561
Alain BARTHE a écrit :
Bonjour,

J'aimerais savoir s'il existe un moyen simple pour utiliser un
formulaire HTML en mode consultation.



(snip)

Ca fonctionne correctement, mais on me demande maintenant d'ajouter une
rubrique permettant d'afficher uniquement les données, sans pouvoir les
modifier.

J'aurais aimé réutiliser le plus possible le code qui génère le
formulaire de saisie, pour générer un "formulaire d'affichage".

Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit
pas possible de modifier les champs, mais juste de les afficher ?



http://www.w3.org/TR/html401/interact/forms.html#adef-disabled

Attention, un script peut modifier la valeur de cet attribut, donc
prévoir éventuellement en plus:

1/ de ne pas afficher DU TOUT les submits
2/ de position l'action du form sur une url spécifique ne permettant pas
la modification
3/ toute autre forme de "ceinture&bretelle" qui te semble pertinente
dans le cadre de ton appli !-)

HTH
Mickael Wolff
Le #21682571
Le 04/05/2010 11:35, Alain BARTHE a écrit :
Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit
pas possible de modifier les champs, mais juste de les afficher ?



Regarde du côté des attributs readonly et disabled. Et attention aux
gotcha !

Ceci dit, désactiver les contrôles n'empêchera pas (dans l'absolu) la
soumission ou la modification des champs. Il faudra s'assurer que, côté
serveur, le traitement soit approprié.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Lecoeur Thierry
Le #21682701
"Alain BARTHE" 4bdfe8b0$0$25623$
Bonjour,

J'aimerais savoir s'il existe un moyen simple pour utiliser un formulaire
HTML en mode consultation.

Dans le détail :
- j'ai décrit dans un fichier JSON (peut-être plus tard YAML) les
caractéristiques des champs des tables de ma base SQL
- pour chaque champ d'une base, je spécifie un label à afficher, le type
de champ (TEXT, TEXTAREA, RADIO, CHECKBOX, ...), quelques attributs (SIZE,
NAME,...)
- à partir de ce fichier descriptif, je génère un formulaire HTML
classique <TEXTAREA>,...

Ca fonctionne correctement, mais on me demande maintenant d'ajouter une
rubrique permettant d'afficher uniquement les données, sans pouvoir les
modifier.

J'aurais aimé réutiliser le plus possible le code qui génère le formulaire
de saisie, pour générer un "formulaire d'affichage".

Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit pas
possible de modifier les champs, mais juste de les afficher ?

Merci d'avance.



Bonsoir,

il existe un attribut lecture seul (readonly)
je te conseille de regarder ce site:
http://fr.selfhtml.org/html/formulaires/entree.htm

Cordialement
Thierry
Alain BARTHE
Le #21684301
Mickael Wolff a écrit :
Le 04/05/2010 11:35, Alain BARTHE a écrit :
Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit
pas possible de modifier les champs, mais juste de les afficher ?



Regarde du côté des attributs readonly et disabled. Et attention aux
gotcha !



Merci, je vais regarder ces atttributs, qui a priori semblent
correspondre à ce que je cherche.

Des problèmes de compatibilité (IE, Firefox, ...) sont-ils à craindre ?

Ceci dit, désactiver les contrôles n'empêchera pas (dans l'absolu) la
soumission ou la modification des champs. Il faudra s'assurer que, côté
serveur, le traitement soit approprié.

Alain BARTHE
Le #21684311
Christophe Meresse a écrit :
On 4 mai, 11:35, Alain BARTHE
Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit
pas possible de modifier les champs, mais juste de les afficher ?



Utiliser les attributs "disabled"

Par exemple: <input type="text" name="thetext" disabled="disabled" />

Par exemple dans le code php en utilisant une variable
$mustbedisabled:
echo '<input type="text" name="thetext" '.
($mustbedisabled?'disabled="disabled" ':'').'/>';

(pas testé, il peut y avoir eventuellement des problèmes à regler au
niveau des simples/doubles quotes)

Christophe



Merci, je vais regarder ça de plus près.
Alain BARTHE
Le #21684321
Bruno Desthuilliers a écrit :
Alain BARTHE a écrit :
Bonjour,

J'aimerais savoir s'il existe un moyen simple pour utiliser un
formulaire HTML en mode consultation.



(snip)
>


Tu as l'air désolé. Ce n'est pas joli, joli ?

Désolé, on m'a demandé ça hier, et je cherche à réutiliser au maximum ce
que j'ai déjà, si possible.

Sinon, je pense que je devrais régénérer un tableau, mais il faudra
prendre en compte les textarea, les radio, les checkbox, etc...
Ce sera plus lourd que juste "désactiver" un formulaire.

Ca fonctionne correctement, mais on me demande maintenant d'ajouter
une rubrique permettant d'afficher uniquement les données, sans
pouvoir les modifier.

J'aurais aimé réutiliser le plus possible le code qui génère le
formulaire de saisie, pour générer un "formulaire d'affichage".

Y a-t-il moyen de modifier au minimum un formulaire pour qu'il ne soit
pas possible de modifier les champs, mais juste de les afficher ?



http://www.w3.org/TR/html401/interact/forms.html#adef-disabled



Merci, je dois pouvoir y trouver réponse à ma question, et à d'autres
que je ne manquerai pas de me poser plus tard.

Attention, un script peut modifier la valeur de cet attribut, donc
prévoir éventuellement en plus:

1/ de ne pas afficher DU TOUT les submits
2/ de position l'action du form sur une url spécifique ne permettant pas
la modification
3/ toute autre forme de "ceinture&bretelle" qui te semble pertinente
dans le cadre de ton appli !-)

HTH
Alain BARTHE
Le #21685691
Lecoeur Thierry a écrit :


il existe un attribut lecture seul (readonly)
je te conseille de regarder ce site:
http://fr.selfhtml.org/html/formulaires/entree.htm

Cordialement
Thierry



Merci, je vais y jeter un coup d'oeil.
Alain BARTHE
Le #21685701
Merci à tous les quatre.

J'ai testé les attributs readonly et disabled, ils fonctionnent
parfaitement.
- readonly : on peut cliquer sur les zones mais pas les modifier
- disabled : on ne peut même pas cliquer sur la zone (je préfère)

J'ai pu modifier mon générateur de formulaire en ajoutant juste :

if ($mode == "consultation")
$field ["attr"]["disabled"] = "disabled";

J'aurais surement 2/3 truc à modifier encore (inhiber enregistrement et
suppression, mais c'est rien à faire).

On ne peut pas faire plus simple.
Merci encore.
Bruno Desthuilliers
Le #21685711
Alain BARTHE a écrit :
Bruno Desthuilliers a écrit :
Alain BARTHE a écrit :
Bonjour,

J'aimerais savoir s'il existe un moyen simple pour utiliser un
formulaire HTML en mode consultation.



(snip)
>


Tu as l'air désolé.



??? Où ça ?

Ce n'est pas joli, joli ?



"Pas idéal" éventuellement, mais je comprend d'autant mieux le besoin
(et le contexte) que j'y ai déjà été confronté, et il n'y a rien qui me
choque là-dedans.

Sinon, je pense que je devrais régénérer un tableau, mais il faudra
prendre en compte les textarea, les radio, les checkbox, etc...
Ce sera plus lourd que juste "désactiver" un formulaire.



Tout à fait.
Publicité
Poster une réponse
Anonyme