Foros del Web » Programando para Internet » Javascript »

Cambiar eventos de objetos, onkeyup y onblur

Estas en el tema de Cambiar eventos de objetos, onkeyup y onblur en el foro de Javascript en Foros del Web. Hola amigos, les cuento que estoy desarrollando un muy simple sistema para un formulario que al insertar el ancho para una imágen, calcula automáticamente el ...
  #1 (permalink)  
Antiguo 10/07/2008, 21:33
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Cambiar eventos de objetos, onkeyup y onblur

Hola amigos, les cuento que estoy desarrollando un muy simple sistema para un formulario que al insertar el ancho para una imágen, calcula automáticamente el alto proporcional.

El problema es que lo quiero hacer del mismo modo que lo hace Photoshop o cualquier otro programa de edicion y por ende he agregado un checkbox que dice mantener proporciones, si esta activado entonces el campo "alto" se encuentra desactivado y para cualquier valor de "ancho" insertado se calcula el "alto" proporcional, el tema es que lo deshabilito sin problemas pero al volver a a habilitarlo ya no calcula nada.

El código que he creado es la siguiente:

Código:
function constdisabled () {

	var constrain = document.getElementById("constrain");
	var height = document.getElementById("rnewheight");
	var width = document.getElementById("rnewwidth");
	
	if (constrain.checked == false) {
		height.disabled = false;
		width.onkeyup = "";
                width.onblur = ""; // He probado con onBlur y onKeyUp
	} else {
		height.disabled = true;
		width.onKeyUp = "calculateheight()";
                width.onblur = "calculateheight()";
	}

}

Mi HTML es el siguiente:

Código:
<input type="text" name="newwidth" value="<?php echo $Result['width']; ?>" onkeyup="calculateheight()" onblur="calculateheight()" class="field" id="rnewwidth" style="margin-left:18px;" />
<input type="text" name="newheight" value="<?php echo $Result['height']; ?>" class="field" id="rnewheight" disabled="disabled" />
<input type="checkbox" id="constrain" checked="checked" onchange="constdisabled()" /><label for="constrain">Constrain proportions</label>
Solo falta la funcion calculateheight pero no interfiere en el error.


Se agradece cualquier ayuda.

Un abrazo !
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
  #2 (permalink)  
Antiguo 11/07/2008, 06:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Cambiar eventos de objetos, onkeyup y onblur

Se me ocurrió una idea mejor para hacerlo, en vez de modificar los eventos onkeyup y onblur cada vez que se activa o desactiva el checkbox. ¿Por qué mejor no compruebas en tu función calculateheight() si el checkbox está seleccionado o no ejecutando o no el código según el caso?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/07/2008, 14:03
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Respuesta: Cambiar eventos de objetos, onkeyup y onblur

David el Grande, tu nombre no miente, eres un grande.

No se me había ocurrido eso a pesar de que estuve dando vueltas y vueltas para encontrar una solución hasta que decidí ir a pensar con la almohada... jeje

Gracias, ahora mismo voy a probar tu idea y tengo mucha confianza de que funcionará.

Un abrazo !
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
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 11:43.