Foros del Web » Programando para Internet » Javascript »

error de innerHTML en IExplorer

Estas en el tema de error de innerHTML en IExplorer en el foro de Javascript en Foros del Web. hola estoy generando una linea dinamicamente,en concreto al añadir fotos las voy mostrando, y se lo añado en la variable filaimg tal y como veis... ...
  #1 (permalink)  
Antiguo 31/10/2006, 04:00
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
error de innerHTML en IExplorer

hola estoy generando una linea dinamicamente,en concreto al añadir fotos las voy mostrando, y se lo añado en la variable filaimg tal y como veis...

Código HTML:
var tabla = document.getElementById('tablaimg');
	 	var imagen = "imgPrevSub"+indice;
		if(indice != 4){	
		   tabla.innerHTML += '<tr id="fila0" height="100"></tr><tr id="fila0.1"></tr>';	 
			var filaimg = document.getElementById('fila'+indicefila);
			var filaimg2 = document.getElementById('fila'+indicefila+'.1');
	 		var imagen = "imgPrevSub"+indice;	
			[B]filaimg.innerHTML += '<td width="25%" class="inputtabla"><img id="imgPrevSub0" name="imgFoto0" src="../imaxes/casatabla.jpg"></td>';[/B]
El problema esta en IE ya qecon firefox se alñade correctamente, saben pq?
el error que me a el navegador es::
Error desconocido en tiempo de ejecución...

Gracias x su atencion
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #2 (permalink)  
Antiguo 31/10/2006, 04:40
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Yyo me pregunto... porque pones:

Código HTML:
[b]filaimg.innerHTML += '<td width="25%" class="inputtabla"><img id="imgPrevSub0" name="imgFoto0" src="../imaxes/casatabla.jpg"></td>';[/b]
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
  #3 (permalink)  
Antiguo 31/10/2006, 05:03
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
El codigo es este ok??
la B era de negrita, se me colo en HTML, lo dices x eso?

filaimg.innerHTML += '<td width="25%" class="inputtabla"><img id="imgPrevSub0" name="imgFoto0" src="../imaxes/casatabla.jpg"></td>';
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #4 (permalink)  
Antiguo 31/10/2006, 05:11
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Ahhh vale, ya decía yo :PPP

De todos modos está mal, según veo en tu código, filaimg no está inicializado, sino que directamente, mediante el concatenado += le asignas un valor, pero en explorer no va así, si quieres concatenar primero, es decir, usar +=, primero debes de incializar la variable, aunque sea en blanco, con lo que simplemente debería poner el símbolo de igual, ya que una variable no inicilizado tiene null, y eso explorer no peude concatenarlo al menos que te pongas un valor vacío y ya te lo permite.

Puede ser que el Firefox en este sentido sea más amplio y te permita concatear algo con algo nulo, pero parece que el explorer no, pruébalo y comenta lo que sea ^^

Saludos.
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
  #5 (permalink)  
Antiguo 31/10/2006, 05:29
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
cuando dices inicializar la vble te refieres a algo asi???

filaimg.innerHTML =" ";


creo q va ser q no...
Gracias
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #6 (permalink)  
Antiguo 31/10/2006, 05:39
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Quiero decir, que tu cuando creas un TD, por defecto el INNERHTML no tiene nada, es una propiedad existente, pero carece de valor, con lo que a eso no puedes concatenarlo con nada, es decir, usando +=.

De todos modos, puedes hacer la prueba fácilmente :) y ver que va a ser que si :P

Código PHP:
// Esto funciona
var "";
alert(a);
 
// Esto falla
var += "";
alert(b); 
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
  #7 (permalink)  
Antiguo 31/10/2006, 05:53
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
jejej ok claro q es q si....
pero el error no esta ahi me refiero...
ya q

filaimg.innerHTML = '<td width="25%" class="inputtabla"><img id="imgPrevSub0" name="imgFoto0" src="../imaxes/casatabla.jpg"></td>';

sigue el mismo error...
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #8 (permalink)  
Antiguo 31/10/2006, 06:05
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Pues ya no sé que decirte -_-

Que error exactamente de devuelve el explorer?

Podrías poner el código completo para intentar probarlo en mi máquina?
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
  #9 (permalink)  
Antiguo 31/10/2006, 06:34
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
error desconocido en tiempo de ejecucion ..jaja muy aclarativo..

bueno te dejo toda la pagins... sobre la linea 30 esta el error

<?php
session_start();
?>
<script type="text/javascript" language="JavaScript">

function previsualizar(controlFichero,idImg,momento,tam){
var laImagen = document.getElementById(idImg);
laImagen.removeAttribute("width");
laImagen.removeAttribute("height");
laImagen.onload = function(){
var ratio = this.offsetWidth/this.offsetHeight;
this.height = tam;
this.width = this.height*ratio;};
if(momento == "previs"){
laImagen.src="file://"+controlFichero.value;
}else{
if(momento == "subir"){
laImagen.src="file://"+controlFichero.value;
}else{
laImagen.src = controlFichero.src;
}
}
}

function comprobar(){alert('comprobar')}

function comprobarimagen(){
if(document.getElementById('fichero').value == ''){
alert('Debe seleccionar una imagen para subir.');
}else{
var indice = document.frmFoto.indice.value;
var indicefila = document.frmFoto.indicefila.value;
var tabla = document.getElementById('tablaimg');
var imagen = "imgPrevSub"+indice;
if(indice != 4){
filaimg = document.getElementById('fila'+indicefila);
var filaimg2 = document.getElementById('fila'+indicefila+'_1');
var imagen = "imgPrevSub"+indice;
tabla.innerHTML+= '<tr id="fila0" height="100"></tr><tr id="fila0_1"></tr>';
filaimg.innerHTML+='<td width="25%" class="inputtabla"><img id="imgPrevSub0" name="imgFoto0" src="../imaxes/casatabla.jpg"></td>';
filaimg2.innerHTML+='<td width="25%" align="center"><input type="button" name"borrar" onClick="Javascript:Comprobar();"></td>';



previsualizar(document.getElementById('fichero').n ame,imagen,'subir',100);
}/*else{
document.frmFoto.indicefila.value = document.frmFoto.indicefila.value + 1;
indicefila = document.frmFoto.indicefila.value;
document.frmFoto.indice.value = 0;
indice = document.frmFoto.indice.value;
imagen = "imgPrevSub"+indice;
filaimg = document.getElementById('fila'+indicefila);
filaimg2 = document.getElementById('fila'+indicefila+'.1');
filaimg.innerHTML += '<td width="25%" class="inputtabla"><img id="imgPrevSub1" name="imgFoto1" src="../imaxes/casatabla.jpg"></td>';
filaimg2.innerHTML += '<td width="25%" align="center"><?php require_once ("../modulos/funciones.php");boton("altacasa.php","Borrar");?></td>';
previsualizar(document.getElementById('fichero'),i magen,'subir',100);
}*/
document.frmFoto.indice.value = document.frmFoto.indice.value + 1;
document.getElementById('fichero').value = "";
alert(document.getElementById('fichero').name);
}
}
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Description" content="Encuentra tu vivienda en Galicia alquileres,ventas,promociones,traspasos." />
<meta name="Keywords" content="alquilar piso, alquilar casa, compra piso, compra casa, compra terreno, comprar piso, comprar casa, venta piso, venta casas, venta pisos, venta casas, pisos, casas, inmuebles, galicia, alquiler, venta, alquilar vivienda, vivienda, alquilar, inmobiliaria, buscar casa, buscar piso, encontrar casa, encontrar piso " />

<meta name="author" content="InmuebleVirtual.net" />
<meta name="locality" content="Spain" />
<meta name="lang" content="es" />
<meta name="language" content="Spanish" />
<meta name="robots" content="ALL" />
<meta name="resource-type" content="document" />
<meta name="revisit-after" content="7 days" />
<meta name="rating" content="General" />
<meta name="distribution" content="Global" />
<title>Agregar imágenes</title>
</head>

<link href="../estilos/formularios.css" type="text/css" rel="stylesheet"/>
<link href="../estilos/clasetabla.css" rel="stylesheet" type="text/css">

<body onload="javascript:previsualizar(document.frmFoto. imgFoto,'imgPrev','inicio',250);" style="margin:0px; font-family: Verdana, Geneva, Arial, helvetica, sans-serif;">
<form name="frmFoto" action="?" method="post" enctype="multipart/form-data">
<input type="hidden" name="control" value="0">
<input type="hidden" name="indice" value="0">
<input type="hidden" name="indicefila" value="0">
<table class="ventana" width="100%" height="100%">
<tr>
<td class="titulo">Agregar imágenes a su inmueble</td>
<td align="right"><img src="../iconos/eliminar.gif" align="middle" alt="Salir" onMouseOver="this.style.cursor='pointer'" onClick="window.close">
</td>
</tr>
<tr>
<td colspan="2">
<table align="center" class="tablafotos" width="96%" height="100%">
<tr>
<td width="75%"><label class="label">Seleccionar imagen</label>
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input id="fichero" type="file" name="" size="50" class="input2" onBlur="this.className='input2'" onfocus="this.className='input1'" onchange="previsualizar(this,'imgPrev','previs',25 0);" tabindex="1">
<script type="text/javascript">
document.getElementById('fichero').name = 'foto'+document.frmFoto.indice.value;
</script>
</td>
<td align="left" width="25%">
<?php require_once ("funciones.php");
boton("javascript:comprobarimagen()","Agregar");
?>
</td>
</tr>
<tr>
<td colspan="3" class="alt_centro">Las imágenes no deben superar 200Kb de tamaño.</td>
</tr>
<tr>
<td class="label" width="15%">Previsualización</td>
<td></td>
<td></td>
</tr>
<tr height="130">
<td width="25%" class="inputtabla">
<div id="divimg"><img id="imgPrev" name="imgFoto" src="../imaxes/casatabla.jpg" height="60" width="150"></div>
</td>
<td></td>
<td></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table id="tablaimg" align="center" class="tablafotos" width="96%" height="100%">
<tr>
<td width="36%" colspan="3"><label class="label">Imagenes subidas</label></td>
<td width="30%"></td>
<td width="30%"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<?php require_once ("./funciones.php");
boton("","Guardar Imagenes");?>
</td>
</tr>
</table>
</form>
</body>
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
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 17:18.