447 votes

Comment ajouter une valeur par défaut pour le <textarea> html ?

Je veux définir une valeur par défaut pour mon code html. <textarea> . J'ai lu dans un article que pour ajouter une valeur par défaut, il faut faire quelque chose comme <textarea>This is default text</textarea> . J'ai fait ça mais ça ne marche pas. Quelle est la bonne chose à faire ?

1 votes

La façon dont vous montrez est censée fonctionner. Montrez votre code HTML si ce n'est pas

0 votes

Montrez votre html s'il vous plaît...

2 votes

La suite des réponses à la question sin la tentative de code qui y est notée. Nous traitons la question sans cette tentative, afin que la question ne soit pas soumise pour des raisons proches de "pas de code" ou "ne peut plus être reproduit".

752voto

Andrew Jackman Points 4567

Voici mon jsFiddle Par exemple, cela fonctionne bien :

<textarea name='awesome'>Default value</textarea>

6 votes

.NET Core les développeurs qui utilisent asp-for doivent utiliser un constructeur dans la classe du modèle pour définir la valeur par défaut, car cette réponse ne les aidera pas.

0 votes

ShadiNamrouti Bien que ce soit certainement vrai, cette question ne s'adresse pas à .Net Core. Cette question est en fait antérieure à .Net Core de quelques années.

1 votes

Je suis venu ici précisément parce que la réponse d'Andrew Jackman N'ÉTAIT PAS qui fonctionne. Shadi Namrouti a expliqué pourquoi : si vous avez une page Asp.Net Core Razor, et que vous utilisez "asp-for" ... alors vous devez définir la valeur par défaut dans votre constructeur de modèle. Merci, Shadi !

109voto

bhavya_w Points 484

Vous pouvez utiliser placeholder Attribut qui n'ajoute pas de valeur par défaut mais c'est peut-être ce que vous recherchez :

<textarea placeholder="this text will show in the textarea"></textarea>

Regardez ici - http://jsfiddle.net/8DzCE/949/ enter image description here

Note importante ( Comme suggéré par Jon Brave dans les commentaires ) :

L'attribut Placeholder ne définit pas la valeur d'une zone de texte. Au contraire, "l'attribut placeholder représente une courte indication (un mot ou une courte phrase) destinée à aider l'utilisateur à saisir des données lorsque le contrôle n'a pas de valeur" [et il disparaît dès que l'utilisateur clique dans la zone de texte]. Il ne sera jamais considéré comme "la valeur par défaut" du contrôle. Si vous voulez que ce soit le cas, vous devez placer le texte souhaité à l'intérieur de la zone de texte. Voici la valeur par défaut réelle, conformément aux autres réponses données ici.

20 votes

Vous devez préciser que placeholder ne définit pas le valeur d'un textarea . Au contraire, "l'attribut placeholder représente une courte indication (un mot ou une courte phrase) destinée à aider l'utilisateur à saisir des données lorsque le contrôle n'a pas de valeur" [et il disparaît dès que l'utilisateur clique dans la zone de texte]. Il ne sera jamais considéré comme "la valeur par défaut" du contrôle. Si c'est ce que vous voulez, vous devez placer le texte souhaité à l'intérieur de la zone de texte <textarea>Here is the actual default value</textarea> comme d'autres réponses ici.

13 votes

C'est en fait une solution très dangereuse. S'il vous plaît, ne confondez jamais l'espace réservé avec la valeur par défaut.

2 votes

@Qwerty - Oui, il ne faut pas confondre placeholder et valeur par défaut. Mais dangereux....pouvez-vous citer un exemple / un cas où et comment il peut être dangereux ( capable ou susceptible de causer des dommages ou des blessures ) ?

27voto

user2519992 Points 41

Si vous voulez amener des informations d'une base de données dans une balise textarea pour les éditer : La balise input ne permet pas d'afficher des données qui occupent plusieurs lignes : rangées aucun travail, l'entrée de la balise est une ligne.

<!--input class="article-input" id="article-input" type="text" rows="5" value="{{article}}" /-->

La balise textarea n'a pas de valeur mais fonctionnent bien avec le guidon

<textarea class="article-input" id="article-input" type="text" rows="9" >{{article}}</textarea>

0 votes

C'est l'angulaire

6voto

winthropite Points 43

Aussi, cela a très bien fonctionné pour moi :

<textarea class="form-control" rows="3" name="msg" placeholder="Your message here." onfocus='this.select()'>
<?php if (isset($_POST['encode'])) { echo htmlspecialchars($_POST['msg']);} ?>
</textarea>

Dans ce cas, $_POST['encode'] provient de ceci :

<input class="input_bottom btn btn-default" type="submit" name="encode" value="Encode">

Le code PHP a été inséré entre les balises et.

5voto

Rithil Points 31

Quand je fais quelque chose comme ça, ça marche pour moi :

<textarea name="test" rows="4" cols="6">My Text</textarea>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X