Foros del Web » Programando para Internet » Javascript »

Problemas con IE con clase JS

Estas en el tema de Problemas con IE con clase JS en el foro de Javascript en Foros del Web. Muchachos, Estoy teniendo serios problemas con IE y JavaScript. No es la primera vez que me pasa este tipo de cosas, pero siempre encontraba soluciones ...
  #1 (permalink)  
Antiguo 31/05/2010, 08:23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Problemas con IE con clase JS

Muchachos,

Estoy teniendo serios problemas con IE y JavaScript. No es la primera vez que me pasa este tipo de cosas, pero siempre encontraba soluciones antes de pedir ayuda. Ya hoy, estoy completamente exausto.
El problema consiste en lo siguiente:

Tengo una clase en JavaScript (programada asquerosamente) para que complete ciertos campos de un formulario Web.



Donde dice "Cliente 1" solo tiene el primer campo disponible para escribir (Empresa), en este hay un autosuggest para ayudar a seleccionar la empresa que quiere ingresar.
En donde dice "Cliente 2" tiene todos los campos escribibles.
¿Cuál sería el problema? Que al seleccionar una empresa en el campo "Empresa" de "Cliente 1" se deben completar todos los campos de "Cliente 1" y asi también automáticamente los de "Cliente 2".
Este es un problema que solo me está sucediendo en IE, no en Firefox. En Firefox funciona perfectamente.

A continuación copio las clases JS y la sección del código donde están estos campos:

Clases JS:

Código:
function ajax()	{
	this.xmlobj = function()	{
		try	{
			if( window.XMLHttpRequest )	{
				return new XMLHttpRequest();
			} else if( window.ActiveXObject )	{
				return new ActiveXObject( "XMLHTTP" );
			}
		} catch( e )	{
			alert( "Error de ajax: " + e.name + ". Desc: " + e.message );
		}
	}
	
	this.sender = function( url, contenedor )	{
		try	{
			if( url && contenedor )	{
				var cont = document.getElementById( contenedor );
				
				if( !cont ) {
					alert( "Error, el contenedor no existe" );
				}
				
				var ajax = this.xmlobj();
				ajax.open( "GET", url );
				
				ajax.onreadystatechange = function()	{
					if( ajax.readyState == 4 )	{
						cont.innerHTML = ajax.responseText;
					}
				}
				
				ajax.send( null );
			} else	{
				alert( "Faltan parametros" );
			}
		} catch( e )	{
			alert( "Error de envio: " + e.name + ". Desc: " + e.message );
		}
	}
	
	this.sender_response = function( url )	{
		try	{
			if( url )	{			
				
				var ajax = this.xmlobj();
				ajax.open( "GET", url, true );
				
				var resp = "a";
				
				ajax.onreadystatechasdange = function()	{
					if( ajax.readyState == 4 )	{
						return resp = ajax.responseText;
					}
				}
				
				ajax.send( null );
			
				return resp;
			} else	{
				alert( "Faltan parametros" );
			}
		} catch( e )	{
			alert( "Error de envio: " + e.name + ". Desc: " + e.message );
		}
	}
	
	this.sender_eval = function( url )	{
		try	{
			if( url )	{
				var ajax = this.xmlobj();
				ajax.open( "GET", url );
				
				ajax.onreadystatechange = function()	{
					if( ajax.readyState == 4 )	{
						//cargando( 2 );
						eval( ajax.responseText );
					} else	{
						//cargando( 1 );
					}
				}
				
				ajax.send( null );
			} else	{
				alert( "Faltan parametros" );
			}
		} catch( e )	{
			alert( "Error de envio: " + e.name + ". Desc: " + e.message);
		}
	}
}

var Ajax = new ajax();

function compConsignatario()	{
	this.completaCampos = function( domi1, domi2, domi3, pais, tel, email, codigo )	{
		try	{
			var domic1 = document.getElementById( "con_domicilio1" );
			var domic2 = document.getElementById( "con_domicilio2" );
			var domic3 = document.getElementById( "con_domicilio3" );
			var paiss = document.getElementById( "con_pais" );
			var tele = document.getElementById( "con_telefono" );
			var mail = document.getElementById( "con_email" );
			var codigos = document.getElementById( "con_codigo" );
			
			domic1.value = domi1;
			domic2.value = domi2;
			domic3.value = domi3;
			paiss.value = pais;
			tele.value = tel;
			mail.value = email;
			codigos.value = codigo;
		} catch( e )	{
			alert( e.name + " - " + e.message );
		}
	}
	
	this.enviaPeticion = function( campo )	{
		try	{
			var xmlo = Ajax.xmlobj();
			
			xmlo.open( "GET", "trae_clientext.ajax.php?buscar=" + campo.value );
			
			xmlo.onreadystatechange = function()	{
				if( xmlo.readyState == 4 )	{
					eval( xmlo.responseText );
				}
			}
			
			xmlo.send( null );
		} catch( e )	{
			alert( e.name + " - " + e.message );
		}
	}
	
	this.errorTotal = function()	{
		var tab_con = document.getElementById( 'tab_consignatario' );
		var elementos = tab_con.getElementsByTagName( "input" );
		for( var i = 0; i < elementos.length; i++ )	{
			if( elementos[i].type == "text" )	{
				elementos[i].value == "";
				ValidaPuertos.error( elementos[i].getAttribute( "id" ) );
			}
		}
	}
	
	this.validaTotal = function()	{
		var tab_con = document.getElementById( 'tab_consignatario' );
		var elementos = tab_con.getElementsByTagName( "input" );
		for( var i = 0; i < elementos.length; i++ )	{
			if( elementos[i].type == "text" )	{
				elementos[i].value == "";
				ValidaPuertos.validado( elementos[i].getAttribute( "id" ) );
			}
		}
	}
}

var completaConsig = new compConsignatario();

Codigo donde se encuentran los campos:


Código:
<tr>
				<td colspan="3">
					<table border="0" cellpadding="0" cellspacing="0" id="tab_consignatario">
						<tr>
							<td style=""><b>CONSIGNATARIO <span class="obligatorio">(*)</span>:</b></td>
							
						</tr>
						<input type="hidden" name="con_codigo" id="con_codigo" />
						<tr>
							<td style="text-align: right;">
								Empresa:
							</td>
							<td>
								<input type="text" name="con_descripcion" id="con_descripcion" style="width: 200px;" onchange="completaConsig.enviaPeticion( this ); setTimeout( 'cNoti()', 1000 );"  />
								<a href="#" onclick="popUp( '<?php echo URL . "/listado_consig.php?vista_cliente=" . $_GET['vista_cliente'] ?>' ); return false;" title="Abrir listado de consignatarios"><img src="imagenes/listado.png" border="0" /></a>
							</td>
						</tr>
						<tr>
							<td style="text-align: right;">
								Domicilio 1:
							</td>
							<td>
								<input type="text" readonly="true" name="con_domicilio1" id="con_domicilio1" style="width: 200px;" onkeyup="cNoti()" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Domicilio 2:
							</td>
							<td>
								<input type="text" readonly="true" name="con_domicilio2" id="con_domicilio2" style="width: 200px;" onkeyup="cNoti()" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Domicilio 3:
							</td>
							<td>
								<input type="text" readonly="true" name="con_domicilio3" id="con_domicilio3" style="width: 200px;" onkeyup="cNoti()" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Pais:
							</td>
							<td>
								<input type="text" readonly="true" name="con_pais" id="con_pais" style="width: 200px;" onkeyup="cNoti()" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Telefono:
							</td>
							<td>
								<input type="text" readonly="true" name="con_telefono" id="con_telefono" style="width: 200px;" onkeyup="cNoti()" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Email:
							</td>
							<td>
								<input type="text" readonly="true" name="con_email" id="con_email" style="width: 200px;" onkeyup="cNoti()" />
							</td>
							<td>&nbsp;</td>
						</tr>
					</table>
				</td>
			</tr>
			
			<tr>
				<td colspan="3">
					<table border="0" cellpadding="0" cellspacing="0" id="tab_notificatario">
						<tr>
							<td style=""><b>NOTIFICATARIO:</b></td>
							
						</tr>
						<input type="hidden" name="not_codigo" id="not_codigo" />
						<tr>
							<td style="text-align: right;">
								Empresa:
							</td>
							<td>
								<input type="text" name="not_descripcion" id="not_descripcion" style="width: 200px;" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Domicilio 1:
							</td>
							<td>
								<input type="text" name="not_domicilio1" id="not_domicilio1" style="width: 200px;" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Domicilio 2:
							</td>
							<td>
								<input type="text" name="not_domicilio2" id="not_domicilio2" style="width: 200px;" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Domicilio 3:
							</td>
							<td>
								<input type="text" name="not_domicilio3" id="not_domicilio3" style="width: 200px;" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Pais:
							</td>
							<td>
								<input type="text" name="not_pais" id="not_pais" style="width: 200px;" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Telefono:
							</td>
							<td>
								<input type="text" name="not_telefono" id="not_telefono" style="width: 200px;" />
							</td>
						</tr>
						<tr>
							
							<td style="text-align: right;">
								Email:
							</td>
							<td>
								<input type="text" name="not_email" id="not_email" style="width: 200px;" />
							</td>
							<td>&nbsp;</td>
						</tr>
					</table>
				</td>
			</tr>
  #2 (permalink)  
Antiguo 31/05/2010, 08:50
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Problemas con IE con clase JS

Por favor, necesito ayuda urgente.
Disculpen las molestias, pero necesito este tema urgente
  #3 (permalink)  
Antiguo 02/06/2010, 07:15
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Problemas con IE con clase JS

Podría por favor alguien ayudarme? No se entiende lo que subí?
  #4 (permalink)  
Antiguo 04/06/2010, 07:44
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Problemas con IE con clase JS

Bueno, veo que nadie tiene idea de como podria solucionarse este problema.

Gracias

Etiquetas: explorer, firefox, internet
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 20:54.