Style sur formulaire

Fermé
spiprou - 14 avril 2009 à 13:47
Matio Messages postés 671 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 25 janvier 2011 - 14 avril 2009 à 14:03
Bonjour,
Je voudrai faire un formulaire permettant de faire une grosse saisie de texte, cependant je voudrait que l'utilisateur puisse mettre des styles sur des mots en particulier (genre en gras, ou des points sur des tabulations comme sur un traitement de text). Est-ce possible? Merci.

1 réponse

Matio Messages postés 671 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 25 janvier 2011 299
14 avril 2009 à 14:03
Salut voici le code js ainsi que le formulaire.
Pour l'exemple j'ai seulement mis le gras.
L'utilisateur sélectionne du texte puis il appuie sur le bouton pour avoir la mise en forme de la portion
de texte.
voilà :


function insertion(repdeb, repfin) {
var input = document.forms['formulaire'].elements['texte'];
input.focus();
/* pour l'Explorer Internet */
if(typeof document.selection != 'undefined') {
/* Insertion du code de formatage */
var range = document.selection.createRange();
var insText = range.text;
range.text = repdeb + insText + repfin;
/* Ajustement de la position du curseur */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -repfin.length);
} else {
range.moveStart('character', repdeb.length + insText.length + repfin.length);
}
range.select();
}
/* pour navigateurs plus récents basés sur Gecko*/
else if(typeof input.selectionStart != 'undefined')
{
/* Insertion du code de formatage */
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
/* Ajustement de la position du curseur */
var pos;
if (insText.length == 0) {
pos = start + repdeb.length;
} else {
pos = start + repdeb.length + insText.length + repfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs */
else
{
/* requête de la position d'insertion */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Insertion du code de formatage */
var insText = prompt("Veuillez entrer le texte à formater:");
input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
}
}
</script>
</head>
<form>
<table>

<tr>
<td colspan="2" align="center"><input type="button" value="G" title="Gras" onClick="insertion('<strong>', '</strong>')">
</tr>
<tr>
<td><textarea name="texte" cols="100" rows="20"><? echo htmlentities($texte); ?></textarea></td>
</tr>

</table>
</form>
0