Foros del Web » Programando para Internet » Javascript »

Quitar comas en un formulario

Estas en el tema de Quitar comas en un formulario en el foro de Javascript en Foros del Web. Necesito quitar todas las comas que los usuarios introduzcan en los input text de un formulario. He probado con: <script language="javascript"> function blockChar() { var ...
  #1 (permalink)  
Antiguo 07/12/2010, 04:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 11 meses
Puntos: 0
Quitar comas en un formulario

Necesito quitar todas las comas que los usuarios introduzcan en los input text de un formulario. He probado con:
<script language="javascript">
function blockChar() {
var str = document.getElementById('txt').value;
str = str.replace(","," ");
document.getElementById('txt').value = str;
}
</script>

<input name="campo1" type="text" id='txt' onkeyup="blockChar();" />

Esto me sirve para una campo pero quiero que se aplique a todos los input text. ¿Cómo puedo hacerlo?
Muchas gracias.
  #2 (permalink)  
Antiguo 07/12/2010, 06:16
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Quitar comas en un formulario

vayamos por partes. ese código solamente te reemplaza la primera coma que aparezca, para reemplazar todas las comas has de usar expresiones regulares. por otro lado para poder aplicar ese reemplazo a cualquier textfield, has de usar getElemensByTagName('input'). con esto obtienes una colección "array" de todos los input
  #3 (permalink)  
Antiguo 07/12/2010, 06:23
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Quitar comas en un formulario

Puedes usar

Cita:
document.form.getElementsByTagName(”tagname”)
que te devuelve un array de punteros a los elementos del TAG que elijas o

Cita:
form.elements
que te devuelve un array de punteros a todos los button, input, select y textArea del form.

Saludos
  #4 (permalink)  
Antiguo 07/12/2010, 06:48
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Quitar comas en un formulario

y si no eres muy amante de las expresiones regulares (aunque en casos complejos son indispensables !) :

Cita:
<html>
<head>

<title></title>
<script>
var exlength,str = "aasdf,asd,fas,dfasdf,";

do{
exlength = str.length;
str=str.replace(",","");
}
while(exlength!=str.length)

alert(str)
</script>

</head>
<body>

</body>
</html>
  #5 (permalink)  
Antiguo 07/12/2010, 08:31
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Quitar comas en un formulario

¿Y que tal así?
Código Javascript:
Ver original
  1. var str='abc,def,ghi';
  2. alert(str.split(',').join(' '));
Siguen gustándome más las expresiones regulares, entre otras cosas porque split crea un array, y eso le cuesta tiempo al navegador, y con expresiones regulares es más rápido, pero ya que estamos dando soluciones alternativas, doy la mía.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 07/12/2010, 10:20
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Quitar comas en un formulario

No lo he probado pero es posible que replace sea mas eficiente que usar expresiones regulares.

Del manual de PHP :

Cita:
str_replace

This function returns a string or an array with all occurrences of search in subject replaced with the given replace value. If you don't need fancy replacing rules (like regular expressions), you should always use this function instead of ereg_replace() or preg_replace().
alguien tiene ganas de testearlo ?

saludos
  #7 (permalink)  
Antiguo 08/12/2010, 04:26
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, 7 meses
Puntos: 1485
Respuesta: Quitar comas en un formulario

@sysmadryn, anteriormente habia escuchado ese mismo comentario. pero fijate de donde has sacado esa informacion y no por ello significa que aplique a javascript. en el caso de javascript, seriamente no creo que las expresiones regulares sean menos eficientes que otras alternativas de manipulacion de string. no tengo la evidencia aunque me gustaria hacer las pruebas, solo que no se cual seria la forma correcta de ejecutar esa prueba.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 09/12/2010, 07:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Quitar comas en un formulario

Muchas gracias a todos por vuestra ayuda. He probado algunas de las cosas que me habéis indicado pero como de momento sé muy poco de Javascript no he logrado que me funcione como quiero.
Después de mucho mirar he encontrado una solución sencilla que me sirve: en lugar de quitar las comas lo que hago es impedir que se escriban. El código es de JavierB (forosdelweb):
Código HTML:
<html>
<head>
<script type="text/javascript">
function pulsar(e) {
  tecla = (document.all) ? e.keyCode : e.which;
  return (tecla!=44);
}
</script>
</head>
<body>
<input type="text" onkeypress = "return pulsar(event)" />
</body>
</html> 
Espero aportar más en el futuro.
Saludos.

Etiquetas: comas, quitar, formulario
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 03:38.