11530 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Après pas mal de temps à essayer de résoudre mon problème je viens faire appel à vos connaissances.

Champs d'application :

Je souhaite développer moi même un système de mise en forme WYSIWYG pour un Textarea HTML. Je veux en effet permettre à des utilisateurs de mettre en forme leur texte lors de l'ajout d'une news par exemple.
C'est donc un mini word en ligne, un peu comme l'ajout de message sur ce forum.

Mise en oeuvre :

J'ai donc pensé à utiliser Javascript (d'ailleurs si il existe une méthode plus appropriée, je n'ai pas d'impératifs là dessus).

En cherchant un peu, j'ai trouvé quelques cas qui s'approchaient du miens.
En utilisant quelque chose du type :


// texte_value contient la valeur du textarea pour la réinjecter ensuite
function gras(texte_value){
	var selection = window.getSelection();
	alert('select :'+selection);
}


et avec un appel à cette fonction lors d'un clique sur un bouton, j'obtiens un résultat surprenant :

- si je selectionne beaucoup de texte : ça fonctionne
- si je selectionne un mot : ça fonctionne pas
- si je selectionne quoi que ce soit dans ma TextArea HTML : j'ai rien du tout.

Si vous avez un peu de temps à me consacrer ce serait super Smiley cligne

Merci d'avance.

PS: Je viens tout juste de m'inscrire et je débute avec Javascript, soyez indulgents ! Smiley ravi

Désolé pour le doublon, j'ai déjà commencé mes bêtises Smiley ohwell
Modifié par Aladora (31 May 2006 - 15:52)
Bonjour, si tu cherches un éditeur WYSIWYG javascript qui marche et qui produit du code propre, tu as tinyMCE
Modifié par chmel (07 May 2007 - 03:26)
Amalgame>MS a eu l'idée génial de globaliser la sélection à la sourie. Résultat, faut faire un focus sur l'élément cible avant de récupérer la sélection :

// texte_value contient la valeur du textarea pour la réinjecter ensuite
function gras(texte_value){
	document.getElementById('textarea').focus();
	var selection = window.getSelection();
	alert('select :'+selection);
}