Foros del Web » Programando para Internet » Javascript »

Insertar palabras en textarea

Estas en el tema de Insertar palabras en textarea en el foro de Javascript en Foros del Web. Pues tengo un textarea y al lado tengo las palabras Negrita,Subrayado... Quiero que al hacer click en la palabra Negrita aparezca en el textarea <b></b>. ...
  #1 (permalink)  
Antiguo 19/09/2009, 09:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 44
Antigüedad: 16 años, 2 meses
Puntos: 0
Insertar palabras en textarea

Pues tengo un textarea y al lado tengo las palabras Negrita,Subrayado...

Quiero que al hacer click en la palabra Negrita aparezca en el textarea <b></b>.
Necesito ayuda,urge un poco!!
  #2 (permalink)  
Antiguo 19/09/2009, 09:28
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 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
  #3 (permalink)  
Antiguo 19/09/2009, 09:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 44
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Insertar palabras en textarea

y si envez de negrita kiero poner subrayado o cursiva que tengo que cambiar?
  #4 (permalink)  
Antiguo 19/09/2009, 09:56
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 meses
Puntos: 41
Respuesta: Insertar palabras en textarea

Pues si te fijas en el código de enlace en "modo citar" verás esto:

<a href="JavaScript:paste_strinL(selection,3,'','','')" onMouseMove="pasteSel()">Negrita</a>

cambia y por lo que quieras... subrayado en html es la etiqueta u y cursiva la etiqueta i...

mira los mensajes en modo citar, por que sino verás la mitad de las cosas que escribo...
  #5 (permalink)  
Antiguo 19/09/2009, 11:37
 
Fecha de Ingreso: marzo-2008
Mensajes: 44
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Insertar palabras en textarea

gracias me funciono :)

duda:como puedo acer LO MISMO pero por ejemplo un menu desplegable que ponga rojo,amarillo,verde

otra duda:como puedo dibujar una especie de cuadrado o rectangulo y meter texto dentro??

es decir,como el frame de visual basic 6
  #6 (permalink)  
Antiguo 19/09/2009, 11:50
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Insertar palabras en textarea

Hola:

No he leído a fondo, pero creo que lo que buscas es:

1. Un combo box:

Código HTML:
<select name="color">
<option value="rojo">Rojo</option>
<option value="verde">Verde</option>
<option value="azul">Azul</option>
</select> 
2. Hace mucho que no uso VB6, pero creo que te refieres a un group box:

Código HTML:
<fieldset>
        <legend>Elige un color</legend>
        <select name="color">
                <option value="rojo">Rojo</option>
                <option value="verde">Verde</option>
                <option value="azul">Azul</option>
        </select>
</fieldset> 
A ver si es lo que buscabas.

Un saludo.
  #7 (permalink)  
Antiguo 19/09/2009, 14:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 44
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Insertar palabras en textarea

si,quiero hacer lo mismo que ha explicado codig() pero con la combo box.

y no es un group box a lo que me refiero,busca vb 6 frame y lo veras
  #8 (permalink)  
Antiguo 20/09/2009, 09:26
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Insertar palabras en textarea

Pues no tienes más que utilizar lo que ha dicho codig0 en las options del select en vez de en un link.

Código HTML:
<option onclick="código js">Nombre opción</option> 
Sustituyendo el href por el onclick. Por supuesto puedes utilizar el reto de eventos.

Y en cuanto al frame no sé exactamente a qué te refieres. Si lo que quieres es simplemente poner un borde puedes hacerlo mediante css. Por ejemplo:

Código HTML:
<div style="border:1px solid gray;">lo que quieras</div> 
Que a fin de cuentas es parecido, vaya. Si puedes explicar un poco más esto:

Cita:
como puedo dibujar una especie de cuadrado o rectangulo y meter texto dentro
Te refieres a una funcionalidad en especial o al simple hecho de tener un recuadro alrededor de algo.
  #9 (permalink)  
Antiguo 20/09/2009, 17:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Insertar palabras en textarea

Tema trasladado desde PHP
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:17.