Mmm... con gli <li> non è uno scherzo...
Potresti usare [UL], [LI], [/LI] e [/UL] e poi cambiare il codice che ho scritto prima.
Ma in che senso collegarlo alla textarea? Fare in modo che quando uno ci clicca sopra gli si apre una finestrella dove digitare il testo da grassettare/corsivare/sottolineare? In questo caso puoi fare così:
Codice HTML:
<script type="text/javascript">
function grassetto(){
var txt=prompt('Inserisci il testo da scrivere in grassetto','');
if(txt!=null && txt!=''){
text='[B]'+txt+'[/B]';
document.inserisci.txtpost.value=document.inserisci.txtpost.value+text;}
document.inserisci.txtpost.focus();
}
function corsivo(){
var txt=prompt('Inserisci il testo da scrivere in corsivo','');
if(txt!=null && txt!=''){
text='[I]'+txt+'[/I]';
document.inserisci.txtpost.value=document.inserisci.txtpost.value+text;}
document.inserisci.txtpost.focus();
}
function sottolinato(){
var txt=prompt('Inserisci il testo da scrivere sottolineato','');
if(txt!=null && txt!=''){
text='[U]'+txt+'[/U]';
document.inserisci.txtpost.value=document.inserisci.txtpost.value+text;}
document.inserisci.txtpost.focus();
}
</script>
Tieni presente, però, che il form deve avere un nome (nell'esempio era inserisci) e lo devi cambiare nel codice, come anche txtpost lo devi sostituire con quello che ti interessa.
Poi ti metti dei bottoni con scritto [b], grassetto o quello che preferisci e richiami la funzione necessaria, così:
Codice HTML:
<input type="button" name="bold" value="[B]" onClick="sottolineato();">