Expediente X
Hola a todos-as, tengo un auntentico expediente x con mi codigo asp y me estoy volviendo tarumba ayuda porfavor¡¡¡¡¡, el problema es el siguiente:
Tengo una pagina con codigo html, ASP y javascript
al principio defino una variables ASP de la siguiente manera:
<html>
<head>
<%
Dim rs1
Dim sql
set rs1 = Server.CreateObject("ADODB.Recordset")
set rs1 = nothing
%>
....
Hasta aqui todo normal, luego en el evento On_Load del body invoco a un javascript que realiza lo siguiente:
function recoge(){ //recogemos el parametro que le pasamos al popup y montamos la query inicial
var linea= document.location.search;
var tip_con = linea.substr(9,1);
<%sql=""%>
alert('<%=sql%>');
switch(tip_con){
case '0': <%sql="consulta1"%> alert('caso 0'); alert('<%=sql%>'); break;
case '1': <%sql="consulta2"%> alert('caso 1'); alert('<%=sql%>'); break;
case '2': <%sql="consulta3"%> alert('caso 2'); alert('<%=sql%>'); break;
case '3': <%sql="consulta4"%> alert('caso 3'); alert('<%=sql%>'); break;
case '4': <%sql="consulta5"%> alert('caso 4'); alert('<%=sql%>'); break;
default: alert('error');
}
alert('<%=sql%>');
}
</script>
en principio me haze todo bien el problema es que me entra en el case correcto introduce una consulta en modo texto en la avariable sql y me las pinta mediante un alert ,luego esta consulta la ejecutare en el body para cargarla en una tabla html de la siguiente manera :
<%set rs1=nothing%>
<%set rs1=conn.execute(sql)%>
el fenomeno extraño es que cuando en el script salimos del switch case consultamos el valor de la variable sql, antes de acabar el javascript el valor ya no es el que nos mostro cuando entro en el case
nos muestra otra consulta, esactamente la ultima que hallamos ejecutado en la ejecucion antetior, ?como puede ser que entre en el switch -case asignemos un valor a la variable y al salir del switch -case ya valga otra cosa??????????
porfavor agradeceria mucho cualquier idea,
saludos
Tengo una pagina con codigo html, ASP y javascript
al principio defino una variables ASP de la siguiente manera:
<html>
<head>
<%
Dim rs1
Dim sql
set rs1 = Server.CreateObject("ADODB.Recordset")
set rs1 = nothing
%>
....
Hasta aqui todo normal, luego en el evento On_Load del body invoco a un javascript que realiza lo siguiente:
function recoge(){ //recogemos el parametro que le pasamos al popup y montamos la query inicial
var linea= document.location.search;
var tip_con = linea.substr(9,1);
<%sql=""%>
alert('<%=sql%>');
switch(tip_con){
case '0': <%sql="consulta1"%> alert('caso 0'); alert('<%=sql%>'); break;
case '1': <%sql="consulta2"%> alert('caso 1'); alert('<%=sql%>'); break;
case '2': <%sql="consulta3"%> alert('caso 2'); alert('<%=sql%>'); break;
case '3': <%sql="consulta4"%> alert('caso 3'); alert('<%=sql%>'); break;
case '4': <%sql="consulta5"%> alert('caso 4'); alert('<%=sql%>'); break;
default: alert('error');
}
alert('<%=sql%>');
}
</script>
en principio me haze todo bien el problema es que me entra en el case correcto introduce una consulta en modo texto en la avariable sql y me las pinta mediante un alert ,luego esta consulta la ejecutare en el body para cargarla en una tabla html de la siguiente manera :
<%set rs1=nothing%>
<%set rs1=conn.execute(sql)%>
el fenomeno extraño es que cuando en el script salimos del switch case consultamos el valor de la variable sql, antes de acabar el javascript el valor ya no es el que nos mostro cuando entro en el case
nos muestra otra consulta, esactamente la ultima que hallamos ejecutado en la ejecucion antetior, ?como puede ser que entre en el switch -case asignemos un valor a la variable y al salir del switch -case ya valga otra cosa??????????
porfavor agradeceria mucho cualquier idea,
saludos
Hola,
Creo que el misterio está en el orden de la ejecución de las instruciones. Ten en cuenta que primero se ejecuta todo el ASP en el servidor y luego todo el html (scripts incli¡uidos) en el cliente.
Creo que estás mezclando el orden de ejecución intercalando instrucciones ASP, javascript, ASP, ...
Saludos
Creo que el misterio está en el orden de la ejecución de las instruciones. Ten en cuenta que primero se ejecuta todo el ASP en el servidor y luego todo el html (scripts incli¡uidos) en el cliente.
Creo que estás mezclando el orden de ejecución intercalando instrucciones ASP, javascript, ASP, ...
Saludos