Foros del Web » Programando para Internet » Javascript »

onChange vaciar campo

Estas en el tema de onChange vaciar campo en el foro de Javascript en Foros del Web. Hola a todos, les comento lo que trato de hacer... tengo un campo de formulario limitado para valores entre 1 y 21 al ingresar un ...
  #1 (permalink)  
Antiguo 13/08/2009, 08:22
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
onChange vaciar campo

Hola a todos,
les comento lo que trato de hacer...
tengo un campo de formulario limitado para valores entre 1 y 21 al ingresar un valor distinto a eso sale una alerta. Hasta aca ok, el tema es que necesito que me vacie el contenido del campo...ya que si pongo 22 por ejemplo me sale la alerta pero queda el valor ahi.

pongo el codigo

script
Código PHP:
<script language="javascript" type="text/javascript">
function 
validaNum(n,mini,maxi)
{
parseInt(n)
if ( 
n<mini || n>maxi ){
alert("dato incorrecto")

}
}
</script> 
html
Código PHP:
<input name="fr1" type="text" id="fr1" onChange="validaNum(this.value,1,21)" size="2"
gracias por su tiempo!
__________________
Bye!
  #2 (permalink)  
Antiguo 13/08/2009, 10:08
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: onChange vaciar campo

en tu funcion validaNum, en lugar del primer argumento ser el numero, pasa la referencia del input con this, te sera mas facil para referirte a el y borrar el contenido cuando sea necesario. entonces, dentro del bloque if de la funcion, vacias el campo con n.value= "";
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 13/08/2009, 10:20
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Respuesta: onChange vaciar campo

gracias antes que nada.

el problema es que tengo tres input que hacen referencia a esa funcion y con distintos valores definidos.

Código PHP:
<input name="fr1" type="text" id="fr1" onChange="validaNum(this.value,1,21)" size="2">
                      -
                      <
input name="fr2" type="text" id="fr2" onChange="validaNum(this.value,1,99999)" size="5">
                      /
                      <
input name="fr3" type="text" id="fr3" size="5"
__________________
Bye!
  #4 (permalink)  
Antiguo 13/08/2009, 10:25
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: onChange vaciar campo

con eso no habra problema. si bien entiendo tu quieres vaciar el campo cuando se ingresa un numero que no figura entre el rango. lo unico que estas cambiando en la funcion es como obtener la referencia de dicho input text.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 13/08/2009 a las 10:42 Razón: ortografía
  #5 (permalink)  
Antiguo 13/08/2009, 10:56
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Respuesta: onChange vaciar campo

ok zerokilled, y como lo haria? no se realmente como hacer eso de (this)

gracias amigo :D
__________________
Bye!
  #6 (permalink)  
Antiguo 13/08/2009, 11:15
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: onChange vaciar campo

en la llamada de la funcion, en lugar de pasar this.value solo pasas this. luego, en tu funcion, cambia el nombre del primer argumento (n) para eveitar conflicto. por ejemplo, digamos obj. ahora en tu funcion tomas el valor del campo con obj.value para convertirlo a numerico. por ultimo, dentro del bloque if{}, o sea antes del alert, escribes obj.value = ""; para vaciar el campo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 13/08/2009 a las 11:21
  #7 (permalink)  
Antiguo 13/08/2009, 11:16
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: onChange vaciar campo

Esto me funciono:

Código HTML:
<input type="text"  name="fr1" id="fr1">
<input type="text"  name="fr2" id="fr2">

<script language="javascript" type="text/javascript">
function validaNum(that, mini, maxi) {
	n = parseInt(that.value, 10);
	
	if (n < mini || n > maxi) {
		that.value = '';
		alert("dato incorrecto");
	}
}

document.getElementById('fr1').onchange = function() {validaNum(this, '1', '21')};
document.getElementById('fr2').onchange = function() {validaNum(this, '1', '99999')};
</script> 
  #8 (permalink)  
Antiguo 14/08/2009, 06:55
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Respuesta: onChange vaciar campo

muchas gracias zerokilled y goyo por la ayuda...funciono de las 2 formas.
__________________
Bye!
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:02.