Foros del Web » Programando para Internet » Javascript »

Problema Extrano.. Solo en Internet!

Estas en el tema de Problema Extrano.. Solo en Internet! en el foro de Javascript en Foros del Web. Buenas, saludos a todos por el foro de Javascript... Estoy presentando un inconveniente muy extrano, se trata de los siguiente: Estoy haciendo una interfaz para ...
  #1 (permalink)  
Antiguo 17/10/2007, 07:09
Avatar de messer  
Fecha de Ingreso: julio-2004
Mensajes: 467
Antigüedad: 20 años, 4 meses
Puntos: 5
Exclamación Problema Extrano.. Solo en Internet!

Buenas, saludos a todos por el foro de Javascript...

Estoy presentando un inconveniente muy extrano, se trata de los siguiente:

Estoy haciendo una interfaz para la web, en la que el usuario necesita una serie de formularios (todo dentro de un solo form) y que se maneja mediante pestanas..

El asunto es que en el server local (localhost) todo me funciona de maravillas!! pero en el server de internet NO FUNCIONA!

me da los siguientes errores:
1._ "mm=has no properties"
2._ "fieldNam has no properties"

El asunto es que todo el codigo parece estar correcto, sospecho que sea algun problema del server, ya que ademas de No Funcionar, impide la carga del final de la pagina, que contiene un <fieldset> con un <textarea> adentro y luego los botones de control Submit, Cancel, Clear, etc..

de todos modos colocare el codigo para que lo analicen:

Código HTML:
function setDivVis(m,c){
 var capas=new Array("alo","bol","tra","exc","fer");
 var buttons=new Array("buthtl","buttkt","buttrf","butexc","butfer");
for(i=0; i<capas.length; i++){
 var mm=eval("document.getElementById('"+capas[i]+"')");
 var cc=eval("document.getElementById('"+buttons[i]+"')");
 if(m==capas[i]){
	mm.style.zIndex="9";
	mm.style.visibility="visible";
	cc.style.backgroundColor="#ECECEC";
		}else{
	mm.style.zIndex="1";
	mm.style.visibility="hidden";
	cc.style.backgroundColor="#CCCCCC";
		}
	}
}
function revisa(){

	for(i=0,todos=document.form2.elements,total=todos.length; i<total; i++){
	if(document.form2.elements[i].type!=undefined){
	alert(document.form2.elements[i].type)
		}
	}
}

function init(){
var divs=new Array("alo","bol","exc","tra","fer")
init2(divs[0])
init2(divs[1])
init2(divs[2])
init2(divs[3])
init2(divs[4])
}
function init2(div){
var fieldNam=eval("document.form2."+div)
	if(fieldNam.checked==false){
	turnFields(div);
	}
}
function turnFields(c){
			var id=toString(c);
			var div=document.getElementById(c);
			var sel=div.getElementsByTagName("select");
			var inp=div.getElementsByTagName("input");
			if(inp[0].checked==false){
			for(i=0; i<sel.length; i++){
			sel[i].disabled=true;
				}
				for(u=0; u<inp.length; u++){
				if(inp[0]!=inp[u])
			inp[u].disabled=true;
					}
			}else{
			for(i=0; i<sel.length; i++){
			sel[i].disabled=false;
				}
			for(u=0; u<inp.length; u++){
			inp[u].disabled=false;
					}
				}
			}
Creo que aun falta codigo dependiente, si no les sirve para el analisis, por favor comentar para colocar el archivo completo..

Saludos y gracias a todos!!
__________________
<script type="text/messerScript"><!--
window.onload=function(){ loadMesserRules(this.href) }
--></script>
  #2 (permalink)  
Antiguo 17/10/2007, 07:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Problema Extrano.. Solo en Internet!

Hola:

Si hablas de formularios dentro de formularios, no es posible (prohibido ), pero si te refieres a campos (cosa que supongo) no hay problemas...

Sobre el código (faltaría ver las llamadas), te recomiendo que evites las instrucciones eval...

var mm=document.getElementById(capas[i]);
var cc=document.getElementById(buttons[i]);
...

Si hay un sitio donde probar el código sería mejor.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 17/10/2007, 08:20
Avatar de messer  
Fecha de Ingreso: julio-2004
Mensajes: 467
Antigüedad: 20 años, 4 meses
Puntos: 5
Re: Problema Extrano.. Solo en Internet!

Hola caricatos, en definitiva no es form dentro de un form, eso se que es imposible.. he estado haciendo prubas, ya detecte el error y no es de Javascript sino de ASP habia un error con una funcion y es por eso que no permitia seguir cargando el documento, lo que me hizo inmediatamente revisar el codigo ASP..

Ahora otra cosa, por que sugieres que no use eval? solo por curiosidad.. , he modificado el codigo ASP y en efecto el Javascript funciona a la perfeccion..

Gracias por tu respuesta, 1 Saludo
__________________
<script type="text/messerScript"><!--
window.onload=function(){ loadMesserRules(this.href) }
--></script>
  #4 (permalink)  
Antiguo 17/10/2007, 10:21
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Problema Extrano.. Solo en Internet!

Hola:

La recomendación de no usar eval es porque simplemente es innecesario, y agregas complejidad a algo que como se ve en mi otra respuesta es bastante simple... creo que no hay ejemplo de uso de eval que no pueda sustituirse por instrucciones normales (cuestión de simplificar)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 17/10/2007, 10:30
Avatar de messer  
Fecha de Ingreso: julio-2004
Mensajes: 467
Antigüedad: 20 años, 4 meses
Puntos: 5
Re: Problema Extrano.. Solo en Internet!

Ah claro! ya entendi.. Pues en realidad no se por que lo tengo con eval XD, bueno seguro en algun momento cuando empece a programar el codigo lo habre necesitado. Pense que era algo mas complejo

Tienes toda la razon no hace falta el eval.

Gracias de nuevo, Saludos
__________________
<script type="text/messerScript"><!--
window.onload=function(){ loadMesserRules(this.href) }
--></script>
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 04:52.