Foros del Web » Programando para Internet » Javascript »

Restar caracteres al escribir en textarea

Estas en el tema de Restar caracteres al escribir en textarea en el foro de Javascript en Foros del Web. Hola, tengo una funcion con la cual voy restando caracteres en un textarea a medida que voy escribiendo. Ademas de que utilizando expresiones regulares, defino ...
  #1 (permalink)  
Antiguo 28/08/2009, 09:38
 
Fecha de Ingreso: agosto-2007
Mensajes: 79
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Restar caracteres al escribir en textarea

Hola, tengo una funcion con la cual voy restando caracteres en un textarea a medida que voy escribiendo. Ademas de que utilizando expresiones regulares, defino 1 palabra (en este ejemplo, es la palabra: [nombre] ) para que cuando escriba esa palabra no se reste caracteres.

Código:
<script language="JavaScript">
function limite(que,cuanto)
{
var pat=/\[nombre]/g;
var v, v2;
v2=v=que.value;
v2=v2.replace(pat,'');
if(v2.length>cuanto)
  que.value=v.substring(0,cuanto)
else
  document.reduce.cont.value=cuanto-v2.length
}
</script>
Código:
<textarea  onKeyup="limite2(this,200);"
</textarea>
Funciona perfecto. El detalle es ¿Como puedo hacer para agregar otras palabras especificas, las cuales cuando las escriba en el textarea al igual q la ya definida en "var pat" tampoco se resten los caracteres.?

He intentado haciendo 2 funciones, pero al llamarlas con el evento onKeyUp, solo funciona 1 sola funcion.

Llamo a las 2 funciones de la siguiente manera en el textarea:

Código:
onKeyup="limite(this,200);limite2(this,200)"

Algun ejemplo de como poder agregar otras variables como esas y que funcionen?
  #2 (permalink)  
Antiguo 28/08/2009, 12:43
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Restar caracteres al escribir en textarea

Hola

.... podría ser en el patrón

var pat=/\[nombre]|\[name]|\[apodo]/g;

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 28/08/2009 a las 13:51
  #3 (permalink)  
Antiguo 28/08/2009, 13:32
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
Respuesta: Restar caracteres al escribir en textarea

Analizalo.

Cita:
<html>
<head>
</head>
<body>
<script>
function cuenta(){
document.forms[0].caracteres.value=200 - document.forms[0].texto.value.length
}
</script>
<form action="#" method="post">
<table>
<tr>
<td>Texto:</td>
<td><textarea cols="40" rows="5" name="texto" onKeyDown="cuenta()" onKeyUp="cuenta()"></textarea></td>
</tr>
<tr>
<td>Caracteres:</td>
<td><input type="text" name=caracteres size=4 value="200"></td>
</tr>
</table>
</form>
</body>
</html>
Saludos !

Fijate de agregarle los patrones ahi a ver que pasa. Saludos !
  #4 (permalink)  
Antiguo 28/08/2009, 14:39
 
Fecha de Ingreso: agosto-2007
Mensajes: 79
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Restar caracteres al escribir en textarea

Cita:
Iniciado por Adler Ver Mensaje
Hola

.... podría ser en el patrón

var pat=/\[nombre]|\[name]|\[apodo]/g;

Suerte
Si, pero ademas de eso, en la linea:

Código:
v2=v2.replace(pat,'');
dependiendo de la palabra, se debe reemblazar replace(pat,''); por un valor de una variable, es decir:

Código:
Si pat = [nombre] 
v2=v2.replace(pat,'xx');
ó

Código:
Si pat = [apodo] 
v2=v2.replace(pat,'xxxx');
  #5 (permalink)  
Antiguo 29/08/2009, 01:53
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Restar caracteres al escribir en textarea

utiliza funciones en el segundo parametro de replace y en este devuelve uno u otro valor segun la palabra encontrada. claro, tienes que definir los valores para cada palabra.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 29/08/2009, 06:10
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Restar caracteres al escribir en textarea

Hola

Podría ser algo como esto. Lo he hecho al vuelo

Código javascript:
Ver original
  1. function limite(que,cuanto)
  2. {
  3. var pat= /\nombre|\apodo/g;
  4. var pat2 = new Array('nombre','apodo');
  5. var reemp = new Array('name','nick');
  6. var v, v2;
  7. v2=v=que.value;
  8. var ok = patron.exec(v2);
  9. if (ok != null) {
  10. for (i = 0; i < pat2.length; i++) {
  11. if (pat2[i] == ok) {
  12. v2 = v2.replace(patron2[i], reemp[i]);
  13. if(v2.length > cuanto) {
  14. que.value=v.substring(0,cuanto)
  15. }else{
  16. document.reduce.cont.value=cuanto-v2.length
  17. que.value = v2;
  18. }
  19. }
  20. }
  21. }
  22. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 23:57.