68 votes

Comment puis-je "pré-remplir" la valeur d'une zone de texte dans un formulaire HTML ?

Je suis en train de créer une application back-end simple grâce à laquelle l'utilisateur peut créer/mettre à jour/supprimer des lignes de base de données (dans ce cas, des offres d'emploi).

Lorsque l'utilisateur doit modifier une liste existante, j'essaie de pré-remplir la majeure partie du formulaire HTML avec les données de cette ligne existante. J'ai réussi à le faire pour les entrées de texte en utilisant la propriété "value", et pour les sélections en utilisant un peu de php dans chaque balise d'option : if([conditionforoption]){echo'selected'}.

Le type d'entrée que j'ai du mal à pré-remplir est le textarea... Avez-vous une idée de la façon dont les données existantes (une longue chaîne varchar) peuvent être présentes dans le textarea lorsque l'utilisateur charge la page ?

J'essaie d'éviter autant que possible une solution en javascript, mais je l'utiliserai si nécessaire.

136voto

AGoodDisplayName Points 1954
<textarea>This is where you put the text.</textarea>

30voto

Tim Points 4669

Si votre question est : comment remplir une zone de texte :

<textarea>
Here is the data you want to show in your textarea
</textarea>

12voto

Il s'agit d'une balise HTML5 qui ne fonctionne que sur les navigateurs modernes :)

<textarea placeholder="Add a comment..."></textarea>

0 votes

Cette option n'est pas valide dans IE9, donc ce n'est probablement pas encore la meilleure option.

1 votes

Se comporte également différemment de input value= puisque le caractère de remplacement n'est jamais soumis et disparaît lors de la saisie.

0 votes

Cela fonctionne très bien, mais ce n'est pas une option de pré-remplissage.

5voto

AnnualMelons Points 57

Pour remplir la valeur d'une zone de texte, vous insérez du texte à l'intérieur de la balise comme ceci :

<textarea>Example of content</textarea>

Dans le code, le texte "Exemple de contenu" deviendra la valeur de la zone de texte. Si vous voulez ajouter à la valeur, c'est-à-dire prendre une valeur et y ajouter une autre chaîne ou un autre type de données, vous devez le faire en JavaScript :

<textarea id="test">Example of</textarea>
<!--I want to say "content" in the textarea's value, so ultimately it will say 
Example of content. Pressing the "Add String To Value" button again will add another "content" string onto the value.-->
<input type="button" value="Add String To Value" onclick="add()"/>
<!--The above will call the function that'll add a string to the textarea's value-->
<script>
function add() {
//We first get the current value of the textarea
var x = document.getElementById("test").value;
//Then we concatenate the string "content" onto it
document.getElementById("test").value = x+" content";
}
</script>

J'espère que cela vous a donné à la fois une réponse et une idée !

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