ciao a tutti,
vorrei provare a realizzare una textarea con testo formattabile senza ricorrere a un wysiwyn editor.
ho trovato questo script che fa al caso mio (da mettere tutto all'interno di <body></body> ) :
<SCRIPT language=JavaScript>
[LEFT]function AddText(NewCode) {
[LEFT]document.form1.mess.value+=NewCode
} [/LEFT]
[LEFT]function email() { [/LEFT]
[LEFT] txt2=prompt("Testo da visualizzare col link. Lasciare vuoto se si vuole visualizzare solo l'url.","");
if (txt2!=null) {
txt=prompt("URL per il link.","mailto:");
if (txt!=null) {
if (txt2=="") {
AddTxt="<a href=>"+txt+"</a>";
AddText(AddTxt);
} else {
AddTxt="<a href=\""+txt+"\">"+txt2+"</a>";
AddText(AddTxt);
}
}
}
} [/LEFT]
[LEFT]function showsize(size) { [/LEFT]
[LEFT] txt=prompt("Text to be size "+size,"Text");
if (txt!=null) {
AddTxt="<size="+size+">"+txt+"</size="+size+">";
AddText(AddTxt);
}
} [/LEFT]
[LEFT]function bold() { [/LEFT]
[LEFT] txt=prompt("Testo in Grassetto.","Text");
if (txt!=null) {
AddTxt="<b>"+txt+"</b>";
AddText(AddTxt);
}
} [/LEFT]
[LEFT]function italicize() { [/LEFT]
[LEFT] txt=prompt("Testo in corsivo","Text");
if (txt!=null) {
AddTxt="<i>"+txt+"</i>";
AddText(AddTxt);
}
} [/LEFT]
[LEFT]function center() { [/LEFT]
[LEFT] txt=prompt("Testo da centrare","Text");
if (txt!=null) {
AddTxt="<center>"+txt+"</center>";
AddText(AddTxt);
}
} [/LEFT]
[LEFT]function br() { [/LEFT]
[LEFT] AddTxt="<br>";
AddText(AddTxt); [/LEFT]
[LEFT]} [/LEFT]
[LEFT]function hyperlink() { [/LEFT]
[LEFT] txt2=prompt("Testo da visualizzare col link. Lasciare vuoto se si vuole visualizzare solo l'url.","");
if (txt2!=null) {
txt=prompt("URL per il link link.","http://");
if (txt!=null) {
if (txt2=="") {
AddTxt="<a href=>"+txt+"</a>";
AddText(AddTxt);
} else {
AddTxt="<a href=\""+txt+"\">"+txt2+"</a>";
AddText(AddTxt);
}
}
}
} [/LEFT]
[LEFT]function image() { [/LEFT]
[LEFT] txt=prompt("URL dell'immagine","http://");
if(txt!=null) {
AddTxt="<img src=\""+txt+"\">";
AddText(AddTxt);
}
} [/LEFT]
[LEFT]function underline() { [/LEFT]
[LEFT] txt=prompt("Testo da sottolineare.","Text");
if (txt!=null) {
AddTxt="<u>"+txt+"</u>";
AddText(AddTxt);
}
} [/LEFT]
[LEFT] </SCRIPT> [/LEFT]
[LEFT]<form name="form1" method="post" action="mail.php">
<br>
<b><font size="2" face="Arial, Helvetica, sans-serif">Messaggio<br><br>
</font><font face="Verdana, Arial, Helvetica"
size=2><a href="java-script:bold();"><img height=22
alt=Grassetto src="images/icon_editor_bold.gif" width=23
border=0></a><a href="java-script:italicize();"><img height=22
alt=Corsivo src="images/icon_editor_italicize.gif" width=23
border=0></a><a href="java-script:underline();"><img height=22
alt=Sottolineato src="images/icon_editor_underline.gif"
width=23 border=0></a> <a href="java-script:center();"><img height=22
alt=Centrato src="images/icon_editor_center.gif" width=23
border=0></a> <a href="java-script:br();"><img height=22 alt="A capo"
src="images/icon_editor_br.gif" width=23 border=0></a> <a
href="java-script:hyperlink();"><img height=22
alt="Inserisci collegamento"
src="images/icon_editor_url.gif" width=23 border=0></a><a
href="java-script:email();"><img height=22 alt="Inserisci e-mail"
src="images/icon_editor_email.gif" width=23 border=0></a><a
href="java-script:image();"><img height=22 alt="Inserisci immagine"
src="images/icon_editor_image.gif" width=23 border=0></a> </font><font size="2" face="Arial, Helvetica, sans-serif">
<br>
</font></b>
<textarea name="mess" cols="80" rows="14" wrap="PHYSICAL"></textarea>
<p>
<input type="submit" name="Submit" value="Invia">
</p>
</form>[/LEFT]
...il problema è che in questo modo non posso prima scrivere il testo e poi, ad esempio, selezionare una singola parola, premere il tasto B e ottenerla in grassetto (..come invece è possibile fare nella composizione di un messaggio all'interno di questo forum).
...quindi, in sostanza, il mio problema è riuscire a far effettuare la formattazione solo sulle porzioni di testo selezionate.
Essendo completamente a digiuno di javascript, c'è qualcuno che saprebbe indicarmi come implementare questo script per ottenere questo tipo di "funzionalità" ??
grazie mille...
[/LEFT]