Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] agregar y eliminar texto a a un textarea

Estas en el tema de agregar y eliminar texto a a un textarea en el foro de Javascript en Foros del Web. hola muy buenas! ojalá puedan orientarme un poco porque mis conocimientos en javascript son muy básicos tengo un form con unos checkbox con una descripcion ...
  #1 (permalink)  
Antiguo 17/10/2016, 14:05
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
agregar y eliminar texto a a un textarea

hola muy buenas!

ojalá puedan orientarme un poco porque mis conocimientos en javascript son muy básicos

tengo un form con unos checkbox con una descripcion cada uno, cuando habilito un checkbox la descripción se agrega a un textarea, lo que quiero hacer es que cuando deshabilite el checkbox me borre la descripcion que se agrego, pero no consigo hacerlo

lo que he intentado es esto

Código Javascript:
Ver original
  1. function addDescripcion(descripcion,cbox){
  2.             var desc = document.getElementById("descGralSolicitud");
  3.             desc.value += descripcion + " - ";
  4.  
  5.             var box = document.getElementById(cbox);
  6.             if(box.checked){
  7.                 descripcion.value += descripcion + " - ";
  8.             }else{
  9.                 descripcion.value = "";
  10.             }
  11.         }

mi html

Código HTML:
Ver original
  1. <form action="">
  2.         <input type="checkbox" name="idchk1" id="idchk1" onclick="addDescripcion('desc1','idchk1')"> <span id="desc1">Descripción 1</span> <input type="text" name="importe"><br>
  3.         <input type="checkbox" name="idchk2" id="idchk2" onclick="addDescripcion('desc2','idchk2')"> <span id="desc2">Descripción 2</span> <input type="text" name="importe"><br>
  4.         <input type="checkbox" name="idchk3" id="idchk3" onclick="addDescripcion('desc3','idchk3')"> <span id="desc3">Descripción 3</span> <input type="text" name="importe"><br>
  5.         <input type="checkbox" name="idchk4" id="idchk4" onclick="addDescripcion('desc4','idchk4')"> <span id="desc4">Descripción 4</span> <input type="text" name="importe"><br>
  6.         <textarea name="nombre" id="descGralSolicitud" cols="30" rows="10"></textarea><br>
  7.         <input type="submit" value="Enviar">
  8.     </form>

ojala puedan orientarme un poco, y muchas gracias por su apoyo
  #2 (permalink)  
Antiguo 17/10/2016, 21:27
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 5 meses
Puntos: 91
Respuesta: agregar y eliminar texto a a un textarea

Podrias investigar sobre jquery y con prop() puede hacer que si esta marcado agregue el texto y cuando no, lo borre
  #3 (permalink)  
Antiguo 18/10/2016, 07:17
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: agregar y eliminar texto a a un textarea

Yo usaría un bloque con el atributo contenEditable para ir insertando y eliminando las descripciones. Y al mismo tiempo iría transvasando el contenido del bloque al textarea. Para poder eliminar una descripción, la envolvería en un elemento span con un class/id para poder identificarlo de las demás descripciones
Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html dir="ltr" lang="es-es">
  3.     <head>
  4.         <title></title>
  5.         <meta charset="utf-8">
  6.         <style>
  7.         div {
  8.             width: 14rem;
  9.             height: 9rem;
  10.             position: absolute;
  11.             top: 6rem;
  12.             overflow: hidden;
  13.             z-index: -1;
  14.         }
  15.         </style>
  16.         <script>
  17.         function addDescripcion(cbox){
  18.             var desc = document.getElementById("descGralSolicitud")
  19.                 desc2 = document.getElementById("descGralSolicitud2");;
  20.  
  21.             if(cbox.checked){
  22.                 desc2.insertAdjacentHTML('beforeend', '<span class="' + cbox.id + '">' + cbox.nextElementSibling.textContent + '</span>')
  23.             }else{
  24.                 desc2.removeChild(document.querySelector('.'+cbox.id));
  25.             }
  26.  
  27.             desc.textContent = desc2.textContent;
  28.         }
  29.         </script>
  30.     </head>
  31.     <body>
  32.     <form action="">
  33.         <input type="checkbox" name="idchk1" id="idchk1" onclick="addDescripcion(this)"> <span id="desc1">Descripción 1</span> <input type="text" name="importe"><br>
  34.         <input type="checkbox" name="idchk2" id="idchk2" onclick="addDescripcion(this)"> <span id="desc2">Descripción 2</span> <input type="text" name="importe"><br>
  35.         <input type="checkbox" name="idchk3" id="idchk3" onclick="addDescripcion(this)"> <span id="desc3">Descripción 3</span> <input type="text" name="importe"><br>
  36.         <input type="checkbox" name="idchk4" id="idchk4" onclick="addDescripcion(this)"> <span id="desc4">Descripción 4</span> <input type="text" name="importe"><br>
  37.         <textarea name="nombre" id="descGralSolicitud" cols="30" rows="10"></textarea><br>
  38.         <div id="descGralSolicitud2" contentEditable="true"></div>
  39.         <input type="submit" value="Enviar">
  40.     </form>
  41.     </body>
  42. </html>
  #4 (permalink)  
Antiguo 18/10/2016, 14:52
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: agregar y eliminar texto a a un textarea

Cita:
Iniciado por mpozo Ver Mensaje
Yo usaría un bloque con el atributo contenEditable para ir insertando y eliminando las descripciones. Y al mismo tiempo iría transvasando el contenido del bloque al textarea. Para poder eliminar una descripción, la envolvería en un elemento span con un class/id para poder identificarlo de las demás descripciones
Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html dir="ltr" lang="es-es">
  3.     <head>
  4.         <title></title>
  5.         <meta charset="utf-8">
  6.         <style>
  7.         div {
  8.             width: 14rem;
  9.             height: 9rem;
  10.             position: absolute;
  11.             top: 6rem;
  12.             overflow: hidden;
  13.             z-index: -1;
  14.         }
  15.         </style>
  16.         <script>
  17.         function addDescripcion(cbox){
  18.             var desc = document.getElementById("descGralSolicitud")
  19.                 desc2 = document.getElementById("descGralSolicitud2");;
  20.  
  21.             if(cbox.checked){
  22.                 desc2.insertAdjacentHTML('beforeend', '<span class="' + cbox.id + '">' + cbox.nextElementSibling.textContent + '</span>')
  23.             }else{
  24.                 desc2.removeChild(document.querySelector('.'+cbox.id));
  25.             }
  26.  
  27.             desc.textContent = desc2.textContent;
  28.         }
  29.         </script>
  30.     </head>
  31.     <body>
  32.     <form action="">
  33.         <input type="checkbox" name="idchk1" id="idchk1" onclick="addDescripcion(this)"> <span id="desc1">Descripción 1</span> <input type="text" name="importe"><br>
  34.         <input type="checkbox" name="idchk2" id="idchk2" onclick="addDescripcion(this)"> <span id="desc2">Descripción 2</span> <input type="text" name="importe"><br>
  35.         <input type="checkbox" name="idchk3" id="idchk3" onclick="addDescripcion(this)"> <span id="desc3">Descripción 3</span> <input type="text" name="importe"><br>
  36.         <input type="checkbox" name="idchk4" id="idchk4" onclick="addDescripcion(this)"> <span id="desc4">Descripción 4</span> <input type="text" name="importe"><br>
  37.         <textarea name="nombre" id="descGralSolicitud" cols="30" rows="10"></textarea><br>
  38.         <div id="descGralSolicitud2" contentEditable="true"></div>
  39.         <input type="submit" value="Enviar">
  40.     </form>
  41.     </body>
  42. </html>
gracias amigo tu ejemplo me funciono de maravilla, seguro que a mas de uno le servirá tu aporte, gracias de nuevo maestro.
  #5 (permalink)  
Antiguo 20/10/2016, 07:19
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: agregar y eliminar texto a a un textarea

Como no puedo editar mis mensajes, escribo este otro para puntualizar que no viene al caso que el bloque tenga que ser editable. No se pretende realizar un editor de texto enriquecido. Aunque para ese caso, habría que hacer algunos cambios más

Etiquetas: html, input, text, textarea
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 18:19.