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

Problemas con variable undefined

Estas en el tema de Problemas con variable undefined en el foro de Frameworks JS en Foros del Web. hola a todos, llevo dos dias atrapado en esto y la verdad es que no soy capaz de descubrir el error, lo que pasa es ...
  #1 (permalink)  
Antiguo 13/06/2009, 09:40
 
Fecha de Ingreso: abril-2009
Mensajes: 104
Antigüedad: 15 años, 7 meses
Puntos: 0
Problemas con variable undefined

hola a todos, llevo dos dias atrapado en esto y la verdad es que no soy capaz de descubrir el error, lo que pasa es que tengo esta funcion en que recibe la respuesta mediante AJAX y todo funciona una sola vez

Código:
function enviar_estudios(titulo , centro , especialidad , fecha_inicio , fecha_final, nivel){
 validacion = comprov_before();//aquí se ejecuta una función que devuelve true y es aqui donde se produce el problema despues de la primera vez de ejecucion la variable validadcion devuelve UNDEFINED
	if (validacion == true){
  objXHR_est = creaXHR();
url = "script_estudios.php?titulo=" + titulo + "&centro=" + centro + "&especialidad=" + especialidad + "&fecha_inicio=" + fecha_inicio + "&fecha_final=" + fecha_final + "&nivel=" + nivel;
if(objXHR_est){
    objXHR_est.open("GET", url, true);
    objXHR_est.onreadystatechange = function () {
      if(objXHR_est.readyState == 4){
        alert(objXHR_est.responseText);
		xxx();
		comprova_estudios = 1;
        var tabla = document.getElementById("est1");
        var i = parseInt(document.getElementById("i").value);
        document.getElementById("i").value = i+1;
        var col1 = document.createElement("td");
        var col2 = document.createElement("td");
        var col3 = document.createElement("td");
        var col4 = document.createElement("td");
        var col5 = document.createElement("td");
        var col6 = document.createElement("td");
        var col7 = document.createElement("td");
        col1.innerHTML = fecha_inicio +"-"+ fecha_final
        col2.innerHTML = titulo
        col3.innerHTML = especialidad
        col4.innerHTML = nivel
        col5.innerHTML = centro
        col6.innerHTML = '<img src="imagenes/lapiz_01.gif" style="cursor:pointer;" onClick="modificar_exp()">' 
        col7.innerHTML = '<img src="imagenes/basura_01.gif" style="cursor:pointer;" onClick="eliminar_exp()">'
        if (i%2==1) {
          col1.className='texto_tb3'
          col2.className='texto_tb3'
          col3.className='texto_tb3'
          col4.className='texto_tb3'
          col5.className='texto_tb3'
          col6.className='texto_tb3'
          col7.className='texto_tb3'
        }else{            
          col1.className='texto_tb2'
          col2.className='texto_tb2'
          col3.className='texto_tb2'
          col4.className='texto_tb2'
          col5.className='texto_tb2'
          col6.className='texto_tb2'
          col7.className='texto_tb2'
        }
        var row = document.createElement("tr");
        row.appendChild(col1); // agrega la columna al renglon
        row.appendChild(col2); // agrega la columna al renglon
        row.appendChild(col3); // agrega la columna al renglon
        row.appendChild(col4); // agrega la columna al renglon
        row.appendChild(col5); // agrega la columna al renglon
        row.appendChild(col6); // agrega la columna al renglon
        row.appendChild(col7); // agrega la columna al renglon
 
        //row.innerHTML = respuesta //contiene una cadena con los td
        tabla.appendChild(row);
		document.getElementById('titulo').value = '';
document.getElementById('centro').value = '';
document.getElementById('nivel').value = '';
document.getElementById('especialidad').value = '';
document.getElementById('fecha_inicio').value = '';
document.getElementById('fecha_final').value = '';
document.getElementById('cursando').value = ''; 
document.getElementById('estudios').reset();
} 
    }
    objXHR_est.send(null);
  }else{
    alert("L'objecte XMLHttpRequest no està disponible al seu navegador");
  }
}
bueno espero vuestra ayuda por que ya nose como hacerlo, gracias
  #2 (permalink)  
Antiguo 13/06/2009, 09:44
 
Fecha de Ingreso: abril-2009
Mensajes: 104
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problemas con variable undefined

Cita:
Iniciado por angelosss Ver Mensaje
hola a todos, llevo dos dias atrapado en esto y la verdad es que no soy capaz de descubrir el error, lo que pasa es que tengo esta funcion en que recibe la respuesta mediante AJAX y todo funciona una sola vez

Código HTML:
function enviar_estudios(titulo , centro , especialidad , fecha_inicio , fecha_final, nivel){
 validacion = comprov_before();//aquí se ejecuta una función que devuelve true y es aqui donde se produce el problema despues de la primera vez de ejecucion la variable validadcion devuelve UNDEFINED
	if (validacion == true){
  objXHR_est = creaXHR();
url = "script_estudios.php?titulo=" + titulo + "&centro=" + centro + "&especialidad=" + especialidad + "&fecha_inicio=" + fecha_inicio + "&fecha_final=" + fecha_final + "&nivel=" + nivel;
if(objXHR_est){
    objXHR_est.open("GET", url, true);
    objXHR_est.onreadystatechange = function () {
      if(objXHR_est.readyState == 4){
        alert(objXHR_est.responseText);
		xxx();
		comprova_estudios = 1;
        var tabla = document.getElementById("est1");
        var i = parseInt(document.getElementById("i").value);
        document.getElementById("i").value = i+1;
        var col1 = document.createElement("td");
        var col2 = document.createElement("td");
        var col3 = document.createElement("td");
        var col4 = document.createElement("td");
        var col5 = document.createElement("td");
        var col6 = document.createElement("td");
        var col7 = document.createElement("td");
        col1.innerHTML = fecha_inicio +"-"+ fecha_final
        col2.innerHTML = titulo
        col3.innerHTML = especialidad
        col4.innerHTML = nivel
        col5.innerHTML = centro
        col6.innerHTML = '<img src="imagenes/lapiz_01.gif" style="cursor:pointer;" onClick="modificar_exp()">' 
        col7.innerHTML = '<img src="imagenes/basura_01.gif" style="cursor:pointer;" onClick="eliminar_exp()">'
        if (i%2==1) {
          col1.className='texto_tb3'
          col2.className='texto_tb3'
          col3.className='texto_tb3'
          col4.className='texto_tb3'
          col5.className='texto_tb3'
          col6.className='texto_tb3'
          col7.className='texto_tb3'
        }else{            
          col1.className='texto_tb2'
          col2.className='texto_tb2'
          col3.className='texto_tb2'
          col4.className='texto_tb2'
          col5.className='texto_tb2'
          col6.className='texto_tb2'
          col7.className='texto_tb2'
        }
        var row = document.createElement("tr");
        row.appendChild(col1); // agrega la columna al renglon
        row.appendChild(col2); // agrega la columna al renglon
        row.appendChild(col3); // agrega la columna al renglon
        row.appendChild(col4); // agrega la columna al renglon
        row.appendChild(col5); // agrega la columna al renglon
        row.appendChild(col6); // agrega la columna al renglon
        row.appendChild(col7); // agrega la columna al renglon
 
        //row.innerHTML = respuesta //contiene una cadena con los td
        tabla.appendChild(row);
		document.getElementById('titulo').value = '';
document.getElementById('centro').value = '';
document.getElementById('nivel').value = '';
document.getElementById('especialidad').value = '';
document.getElementById('fecha_inicio').value = '';
document.getElementById('fecha_final').value = '';
document.getElementById('cursando').value = ''; 
document.getElementById('estudios').reset();
} 
    }
    objXHR_est.send(null);
  }else{
    alert("L'objecte XMLHttpRequest no està disponible al seu navegador");
  }
}
bueno espero vuestra ayuda por que ya nose como hacerlo, gracias
  #3 (permalink)  
Antiguo 13/06/2009, 10:01
 
Fecha de Ingreso: abril-2009
Mensajes: 104
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problemas con variable undefined

hola, nada que lo he solucionado el error estaba en la funcion de validacion, 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:31.