Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/09/2009, 09:28
codig0
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 9 meses
Puntos: 41
Respuesta: Insertar palabras en textarea

Esto no tiene nada que ver con php... es javascript... de todas formas yo lo hago así:

Código:
<a href="JavaScript:paste_strinL(selection,3,'','','')" onMouseMove="pasteSel()">Negrita</a>
necesitas un JS, crea un archivo llamado editor.js y pon dentro esto:

Código:
function insertAtCursor(myField, myValue, bbCode1, bbCode2, endOfLine) {
var bbb;
if(bbCode1=='[url=null]') { bbCode1=''; bbCode2=''; }
if(bbCode1=='[imgs]' && myValue==null) { bbCode1=''; bbCode2=''; myValue=''; }

if (document.selection) {
//IE support
var str = document.selection.createRange().text;
myField.focus();
sel = document.selection.createRange();
sel.text = bbCode1 + myValue + bbCode2 + endOfLine;
if(myValue=='') { bbb=bbCode2.length; sel.moveStart('character',-bbb); sel.moveEnd('character',-bbb); }
sel.select();
return;
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
var bbb2, bbV;
if(myValue=='') myValue = myField.value.substring(startPos, endPos);
myField.value = myField.value.substring(0, startPos) + bbCode1 + myValue + bbCode2 + endOfLine + myField.value.substring(endPos, myField.value.length);
if(myValue=='') { bbb=bbCode1.length; myField.selectionStart=startPos+bbb; myField.selectionEnd=endPos+bbb; }
else { bbb=bbCode1.length; bbb2=bbCode2.length; bbV=myValue.length; myField.selectionStart=startPos+bbV+bbb+bbb2; myField.selectionEnd=startPos+bbV+bbb+bbb2; } 
myField.focus();
return;
} else {
myField.value += myValue;
return;
}
}

function paste_strinL(strinL, isQuote, bbCode1, bbCode2, endOfLine,User){ 
if((isQuote==1 || isQuote==2) && strinL=='') alert(l_quoteMsgAlert);
else{
if (isQuote==1) {
bbCode1='
Cita:
Iniciado por + User +
'; bbCode2='
'; endOfLine='\n'; } if (isQuote==2) { bbCode1=''; bbCode2=''; endOfLine='\n'; } var isForm=document.forms["postMsg"]; if (isForm) { var input=document.forms["postMsg"].elements["descripcion"]; insertAtCursor(input, strinL, bbCode1, bbCode2, endOfLine); } else alert(l_accessDenied); } } function pasteSel() { if(document.getSelection) selection=document.getSelection(); else if(document.selection) selection=document.selection.createRange().text; else if(window.getSelection) selection=window.getSelection(); else selection=''; }
y luego pon en donde lo vayas a usar

Código:
<script type="text/javascript" src="editor.js"></script>
la etiqueta form tiene que tener el name así name="postMsg" y la textarea name="descripcion"

saludos.

edito:

dale a citar y coge el código JS de ahí, porque parece que el foro reemplaza el código