Rechercher : dans
Par :

[javascript] insérer balises

Dernière réponse le 22 oct 2008 à 20:01:22 G4uthier, le 10 mar 2008 à 15:20:17 
 Signaler ce message aux modérateurs

Bonjour,


Je cherche à comprendre ce code car je voudrais le réutiliser pour mon bbcode.
J'aimerais que lorsque l'on clique sur le bouton ou ici le lien , on affiche les balise dans le textarea.
Malhereusement je comprends pas ce code qui pourrait m'aider? Rien que la methode caret pas moyen de trouver ce qu'elle fait.
Je suis pas le genre de gars à pomper c'est pour ca que je voudrais comprendre ce code .

<html>
<head>
<title>Ajouter du texte au milieu d'un textarea</title>
</head>
<body>
<form name="poster" method="POST" action="ee.php" onSubmit="">
<p>Mise en forme du texte :
<a href="javascript:AddText('[url]','URL','/url');">URL</a>
| <a href="javascript:AddText('[email]','email@email.fr','/email');">Email</a­>
| <a href="javascript:AddText('[b]','Texte en gras','/b');">Gras</a>
| <a href="javascript:AddText('[i]','Texte en italique','/i');">Italique</a>
| <a href="javascript:AddText('[u]','Texte souligné','/u');">Souligné</a>...
<br>
</p>
<script language="JavaScript" type="text/javascript">
function storeCaret(text)
{ // voided
}

function AddText(startTag,defaultText,endTag)
{
if (document.poster.message.createTextRange)
{
var text;
document.poster.message.focus(document.poster.message.caretPos);
document.poster.message.caretPos = document.selection.createRange().duplicate();
if(document.poster.message.caretPos.text.length>0)
{
document.poster.message.caretPos.text = startTag + document.poster.message.caretPos.text + endTag;
}
else
{
document.poster.message.caretPos.text = startTag+defaultText+endTag;
}
}
else document.poster.message.value += startTag+defaultText+endTag;
}
</script>

<textarea
rows='8'
cols='30'
name=message
wrap=virtual
onmouseover="this.focus();"
onkeyup="javascript:storeCaret(this);"
onclick="javascript:storeCaret(this);"
onchange="javascript:storeCaret(this);">
</textarea><br>
<input type="submit" name="soumettre" value="envoyer">
</form>
</body>
</html>

<?

$test=$_POST['message'];

print("$test");

?>

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « [javascript] insérer balises » dans :
Javascript - Implantation du code Voir A quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...
Disk boot failure - Insert system disk and press Enter VoirLe message d'erreur «DISK BOOT FAILURE INSERT SYSTEM DISK AND PRESS ENTER», «Disque non système» ou «No system disk» signifie que l'ordinateur n'a pas trouvé de système d'exploitation sur lequel démarrer (booter). Les causes de ce message d'erreur...
Insérer une image dans un mail Gmail en cours de composition VoirVoici une excellente méthode pour insérer des images dans vos e-mails Gmail. Résultat garanti ! Vu que vous avez un compte Gmail (puisque vous vous posez cette question) vous avez nécessairement accès à Google Documents. C'est le même compte...
Javascript - Les tableaux VoirIntroduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois...
Les arrière-plans VoirInsérer une image en fond Il est possible de définir une image d'arrière-plan pour la page web grâce aux attributs de la balise  : Attribut Effet Visuel BACKGROUND="image" Affiche l'image en arrière...
Les balises HTML VoirHTML, un langage à balises Le HTML n'est pas un langage de programmation. Il s'agit d'un langage permettant de décrire la mise en page et la forme d'un contenu rédigé en texte simple. Une page HTML est ainsi un simple fichier texte...

1

G4uthier, le 11 mar 2008 à 13:40:45

Up :p

Répondre à G4uthier

2

=[Cvrd]=Tassin, le 11 mar 2008 à 14:09:50
  • +1

Ils utilisent l'objet TextRange javascript qui permet de manipuler une sélection de texte. (comme tu pourras le voir sur ce site : http://quentinc.net/ref/js/textrange/)

Ils jouent ensuite sur les indices pour rajouter les balises autour du texte sélectionné (code : if(document.poster.message.caretPos.text.length>0)
document.poster.message.caretPos.text = startTag + document.poster.message.caretPos.text + endTag; )

et dans le cas où il n'y a pas de texte dans le textarea alors il mette le texte par défaut :
document.poster.message.caretPos.text = startTag+defaultText+endTag; -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

3

 G4uthier, le 15 mar 2008 à 13:04:54

Merci ;)

Répondre à G4uthier