Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Paginador en ajax - es nulo o no es un objeto

Estas en el tema de Paginador en ajax - es nulo o no es un objeto en el foro de Frameworks JS en Foros del Web. hola a todos...he elaborado una aplicacion que evalua una cantidad de pregunta (ejemplo 30); la aplicacio debe tener 2 contador; 1 para contar el tiempo ...
  #1 (permalink)  
Antiguo 27/05/2009, 14:55
 
Fecha de Ingreso: abril-2008
Mensajes: 14
Antigüedad: 16 años, 7 meses
Puntos: 0
Paginador en ajax - es nulo o no es un objeto

hola a todos...he elaborado una aplicacion que evalua una cantidad de pregunta (ejemplo 30); la aplicacio debe tener 2 contador; 1 para contar el tiempo total y otro para contar el tiempo de la pregunta, al pagina el contador de la pregunta debe inicializar en ceros y el otro debe seguir contando el tiempo.

ahora bien mi problema es el siguiente:

al paginar en internet explorer 8 (en mozilla firefox me funciona de maravilla) los contadores no me sirven; la aplicacion sigue paginando los registro de la consulta pero los contadores quedan como bloqueados, mirando el internet explorer me sale un error asi:

Código:
Detalles de error de página web

Mensaje: 'document.preguntas.display' es nulo o no es un objeto
url:ajax.js
los contadores son 2 input el codigo esta en un archivo php asi.

Código PHP:
echo "<table width='750px'>" ;
echo 
"<tr><td><input type='text' size='8' name='display' value='00:00'></td><td><input type='text' style='font-size:20px; background-color:#d8d8d8; border:solid 1px #333333;width:100px; text-align:center;height:20px;' value='".$PagAct."'></td><td><input type='text' size='8' name='display2' value='00:00'></td></tr>" ;
echo 
"</table>" 
y el archivo ajax.js que pagina y contabiliza los tiempo es

Código:
function objetoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
  		}
	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}


var nucleo_global 
	
function setNucleo(nucleo)
	{
	nucleo_global = nucleo ;	
	}

function getNucleo()
	{
	return nucleo_global
	}

function Pagina(nropagina,nucleo,usuario,valor_pregunta,tipo_pregunta,componente)
{
	iniciarCronopersonal();	
	
	divContenido = document.getElementById('contenido');
	num_pregunta  = document.preguntas.id_pregunta.value;
	
	setNucleo(nucleo)
	
	ajax=objetoAjax();

	ajax.open("GET", "examen.php?pag="+nropagina+"&nucleo="+nucleo+"&num_pregunta="+num_pregunta+"&valor_pregunta="+valor_pregunta+"&usuario="+usuario+"&tipo_pregunta="+tipo_pregunta+"&componente="+componente);
	divContenido.innerHTML= '<img src="imagenes/anim.gif">';
	ajax.onreadystatechange=function() 
	{
		if (ajax.readyState==4) 
			{
			divContenido.innerHTML = ajax.responseText
			}
	}
	ajax.send(null)
}

/*cronometro*/
var CronoID = null
var CronoEjecutandose = false
var segundos, minutos , decimas
var segundos2, minutos2 , decimas2

function DetenerCrono ()
	{
  if(CronoEjecutandose)
  clearTimeout(CronoID)
  CronoEjecutandose = false
	}
	
function iniciarCronopersonal()
	{
	decimas2 = 0
	segundos2 = 0
	minutos2 = 0
	}

function InicializarCrono () 
	{
	//inicializa contadores globales
	decimas = 0
	segundos = 0
	minutos = 0
	
	decimas2 = 0
	segundos2 = 0
	minutos2 = 0
	
	//pone a cero los marcadores
	document.preguntas.display.value = '00:00'
	document.preguntas.display2.value = '00:00'
	}

function MostrarCrono ()
{      
  //incrementa el crono
  decimas++
if ( decimas > 9 ) 
	{
	decimas = 0
	segundos++
	if ( segundos > 59 ) 
		{
		segundos = 0
		minutos++

		if ( minutos > 120 ) 
			{
			alert('El tiempo para el examen a concluido')
			DetenerCrono()
			location.href="analisis_respuestas.php?nucleo="+getNucleo()			
			return true
			}
		}
	}
	

//incrementa el crono
  decimas2++
if ( decimas2 > 9 ) 
	{
	decimas2 = 0
	segundos2++
	if ( segundos2 > 59 ) 
		{
		segundos2 = 0
		minutos2++
		
		if(minutos2 % 2 == 0)
			alert("El tiempo para la pregunta ha finalizado")			
		}
	}	

var ValorCrono = ""
var ValorCrono2 = ""

ValorCrono = (minutos < 10) ? "0" + minutos : minutos
ValorCrono += (segundos < 10) ? ":0" + segundos : ":" + segundos

ValorCrono2 = (minutos2 < 10) ? "0" + minutos2 : minutos2
ValorCrono2 += (segundos2 < 10) ? ":0" + segundos2 : ":" + segundos2

document.preguntas.display.value = ValorCrono
document.preguntas.display2.value = ValorCrono2

CronoID = setTimeout("MostrarCrono()", 100)
CronoEjecutandose = true
return true
}

function IniciarCrono (nucleo) 
	{
	DetenerCrono()
	InicializarCrono()
	MostrarCrono()
	}
espero haber sido claro. gracias
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 14:35.