Foros del Web » Programando para Internet » Javascript »

crear input con evento onblur ie6

Estas en el tema de crear input con evento onblur ie6 en el foro de Javascript en Foros del Web. hola, tengo una duda, tengo un label con un texto en html y cuando le hago dobleclic se elimna el texto y carga un input ...
  #1 (permalink)  
Antiguo 03/10/2009, 15:35
Avatar de josevirtual  
Fecha de Ingreso: diciembre-2006
Mensajes: 51
Antigüedad: 17 años, 5 meses
Puntos: 1
crear input con evento onblur ie6

hola, tengo una duda, tengo un label con un texto en html y cuando le hago dobleclic se elimna el texto y carga un input text con el foco en el texto, pero cuando salgo del input en ie6 no me detecta el evento onblur. en firefox corre normal, mi codigo es el siguiente:
Código HTML:
<script language="javascript">
function mtext(capa)
{
	var input = document.createElement('INPUT');
	input.setAttribute('type', "text");
	input.setAttribute('onBlur', 'mnormal(this)');
	input.setAttribute("value", capa.innerHTML);
	padre = capa.parentNode;
	capa.innerHTML='';
	capa.appendChild(input);
	input.focus();
}
function mnormal(capa)
{
	contenido=capa.value;
	padre = capa.parentNode;
	//eliminamos el elemento
	padre.removeChild(capa);
	padre.innerHTML=contenido;
	
}
</script>
<label id="texto" onDblClick="mtext(this)">Hola</label> 
por favor como podria solucionar esto
__________________
http://fullwebdesigner.com.ar webcomputercusco
  #2 (permalink)  
Antiguo 03/10/2009, 16:10
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: crear input con evento onblur ie6

iexplorer es muy limitado con el metodo setAttribute. quiero decir que su compatibilidad es un tanto caotico. iexplorer no tiene soporte para agregar eventos mediante setAttribute. esta es la linea que no te funciona en iexplorer,
Código:
	input.setAttribute('onBlur', 'mnormal(this)');
cambialo por la forma antigua donde el evento se considera como un metodo del elemento.
Código:
input.onblur = funcion;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 03/10/2009, 16:33
Avatar de josevirtual  
Fecha de Ingreso: diciembre-2006
Mensajes: 51
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: crear input con evento onblur ie6

Cita:
Iniciado por zerokilled Ver Mensaje
iexplorer es muy limitado con el metodo setAttribute. quiero decir que su compatibilidad es un tanto caotico. iexplorer no tiene soporte para agregar eventos mediante setAttribute. esta es la linea que no te funciona en iexplorer,
Código:
	input.setAttribute('onBlur', 'mnormal(this)');
cambialo por la forma antigua donde el evento se considera como un metodo del elemento.
Código:
input.onblur = funcion;
hice las modificaciones q me dijiste pero me da error con respecto al parentnode de la segunda funcion

Código HTML:
<script language="javascript">
function mtext(capa)
{
	var input = document.createElement('INPUT');
	input.type='text';
	input.value=capa.innerHTML;
	input.onblur = 'mnormal(this)';
	//input.setAttribute('type', "text");
//	input.setAttribute('onBlur', 'mnormal(this)');
//	input.setAttribute("value", capa.innerHTML);
	capa.innerHTML='';
	capa.appendChild(input);
	input.focus();
}
function mnormal(capa)
{
	contenido=capa.value;
	padre = capa.parentNode;
	//eliminamos el elemento
	padre.removeChild(capa);
	padre.innerHTML=contenido;
	
}
</script> 
__________________
http://fullwebdesigner.com.ar webcomputercusco

Última edición por josevirtual; 03/10/2009 a las 16:43
  #4 (permalink)  
Antiguo 03/10/2009, 16:40
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: crear input con evento onblur ie6

claro porque estas ejecutando la funcion al instante que se lo asignas. en ese caso tienes que crear una funcion anonima y dentro pones la llamada a la funcion con el parametro.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 03/10/2009, 19:04
Avatar de josevirtual  
Fecha de Ingreso: diciembre-2006
Mensajes: 51
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: crear input con evento onblur ie6

Bueno, tengo que admitir que soy un ignorante en esta materia pero no sé como se hace eso, si podrias darme algunas pautas por favor
__________________
http://fullwebdesigner.com.ar webcomputercusco
  #6 (permalink)  
Antiguo 03/10/2009, 22:58
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: crear input con evento onblur ie6

funcion anonimas son funciones sin nombres. consiste en el literal function, los argumentos y el cuerpo. y eso se lo asignas a una variable, propiedad o metodo de un objeto. dentro del body pones la llamada a la funcion tuya. un enlace que habla mas detallado del tema, como se hace y por que es util. http://helephant.com/2008/08/javascr...ous-functions/
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 05/10/2009, 05:25
Avatar de josevirtual  
Fecha de Ingreso: diciembre-2006
Mensajes: 51
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: crear input con evento onblur ie6

Gracias por tu ayuda creo q ya tengo claro el tema de las funciones anonimas, muchas gracias
__________________
http://fullwebdesigner.com.ar webcomputercusco
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 21:04.