Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2011, 05:25
jmsolerdenia
 
Fecha de Ingreso: enero-2011
Mensajes: 28
Antigüedad: 13 años, 10 meses
Puntos: 0
Como no perder valor de parámetros pasados a funciones javascript

Hola amigos,

estoy teniendo unos problemas programanado una función javascript, os pongo a continuación el código y os digo lo que me pasa.

Cita:
function leerBD(p){

var url = "ajax.php";
var params = "p="+p;
var http = new XMLHttpRequest();
http.open("POST", url, true);

//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
alert(p);
http.onreadystatechange = function() {//Call a function when the state changes.



if(http.readyState == 4 && http.status == 200) {

var registros=http.responseText;
alert(registros);
alert("arriba de if");


if(p==1){

alert("en if");
/*Declaraciones*/
var h3 = document.createElement("h3");
var h2 = document.createElement("h2");
var p = document.createElement("p");
var enlace = document.getElementById("enlacesub1");
p.innerHTML=registros;
var subbox = document.getElementById("subbox1");
subbox.appendChild(p);
h3.innerHTML = "Experimento 1";
enlace.parentNode.insertBefore(h3,enlace); //insertamos antes del enlace
enlace.parentNode.inserteBefore(p,enlace);
}

}
http.send(params);
}
}
Entonces, el problema está en que se pierde el valor de la variable p cuando entra en
Cita:
http.onreadystatechange = function()
. En mi código html le paso un 1, y el valor no se pierde hasta donde he dicho.
¿Por qué puede ser? ¿Qué puedo hacer?

Gracias!