interdire la saisie dans une zone de texte

Vincent45
Invité n'ayant pas de compte PHPfrance

25 avr. 2006, 09:22

Bonjour,

Voila tout est dit dans le titre, j'aimerai savoir comment faire pour interdire la saisi dans une zone de texte, sans pour autant la grisé. En effet dans ces zone, je fais afficher des information venant d'une base de donnée. Et j'aimerai que les utilisateurs ne puisse pas y toucher, juste les voir.
Je sais vous allez me dire de ne pas l'afficher dans une zone de texte mais, je prefere, pour la presentation.

Merci

Bonne journée, sous le beau temps.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 avr. 2006, 10:16

Tu peux utiliser l'attribut readonly dans ton input. Le champ sera accessible (contrairement au disable qui de mémoire empeche d'en selectionner le contenu) mais ne pourra être modifié :

Code : Tout sélectionner

<input type="text" name="monChamp" value="Texte en lecture seule" readOnly />

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 avr. 2006, 10:17

En regardant ici : http://www.w3.org/TR/html4/interact/forms.html#h-17.4
on voit l'attribut "readonly", qui correspond donc à ce que tu veux faire

Par contre, cet attribut (comme "disabled") grise le champ texte, et on peut lire :
How read-only elements are rendered depends on the user agent.
D'un autre côté, c'est assez logique que le champ texte soit grisé, c'est pour indiquer aux gens qu'il n'est pas comme les autres.
Un champ texte d'aspect normal dans lequel on ne peut pas écrire ou sélectionner du texte, c'est déconcertant pour l'utilisateur.

Vincent45
Invité n'ayant pas de compte PHPfrance

25 avr. 2006, 10:44

parfait readOnly correspond exactement a se que je veux faire.

Merci a vous 2.

Bonne journée.