continuo problema include

01/07/2005 - 09:00 por Maria José Salas | Informe spam
Hola a todos. Continuo con mi problema de listasdependientes metido en un
include.
Os pongo el ejemplo que tengo hecho.
Tengo la pagina listasdependientes.asp que muestra dos listas dependientes
de paises y ciudades. Cuando esta página la ejecuto sin estar ente <%sub
listas %> <% end sub%> funciona perfectamente. Pero cuando esta pagina
la incluyo en una pagina principal que la llama ya no me funciona.
Os pongo aquí el código a ver si vosotros veis el error.
Todos los archivos los tengo en C:\Inetpub\wwwroot
Espero que me podais ayudar.
Gracias de nuevo.
Canela


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- #include file="listasdependientespaises.asp" -->

<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">

<table width="780" border="0" cellspacing="0" align="center" >
<tr>
<td width="119">
</td>
<td width="660">
<%call listas %>
</td>
</tr>
</table>


</BODY>
</HTML>



<% sub listas %>
<HTML>
<HEAD>
<TITLE>Listas dependientes</TITLE>
</HEAD>
<BODY>

<H2><CENTER>Listas dinámicas dependientes</CENTER></H2>
<P><B>Elige un pais para ver las provincias:</B>
<P>
<FORM NAME="Listas" METHOD="POST" ACTION="">
<B>Paises</B>
<SELECT NAME="paises" SIZE="1"
OnChange="ComponerLista
(document.forms.Listas.paises[selectedIndex].value);">
<%
Dim oConn, rs, SQL, cuenta, pais

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("mibase.mdb")

SQL="SELECT * FROM paises"
rs.Open SQL, oConn
cuenta=1
while not rs.EOF
%>
<OPTION VALUE="<%=rs.Fields("Idpais")%>"
<% if cuenta=1 then%>
SELECTED
<%end if%>>
<%=rs.Fields("pais")%></OPTION>
<%
rs.MoveNext
cuenta=cuenta+1
wend
rs.Close
%>
</SELECT>
<P><B>Provincias</B>
<SELECT NAME="Provincias" SIZE="1">
</SELECT>
</FORM>

<SCRIPT LANGUAGE="Javascript">
<!--
function Tupla ( campo1, campo2 )
{
this.campo1 = campo1;
this.campo2 = campo2;
}

<%
'Vamos a crear nuestros arrays de productos desde ASP
'El primer if detecta un cambio en la categoría para
'crear un nuevo array en Javascript

SQL="SELECT * FROM provincias ORDER BY npais, IdProvincia"
rs.Open SQL, oConn
cuenta=0
cat="basura"
while not rs.EOF
if cat<>rs.Fields("npais") then
' cambio de categoria, empiezo a contar en 0
cuenta=0
cat=rs.Fields("npais")
'además tengo que crear un nuevo array para la categoría
%>
var opciones<%=cat%> = new Array();
<%
end if
%>
opciones<%=cat%>[<%=cuenta%>]=new
Tupla("<%=rs.Fields("provincia")%>","<%=rs.Fields("IdProvincia")%>");

<%
cuenta=cuenta+1
rs.MoveNext
wend
%>


<%
'Limpiamos objetos
rs.Close
set rs=nothing
oConn.Close
set oConn=nothing
%>

var contador;

function ComponerLista ( array ) {
// Compone la lista dependiente a partir
// del valor de la opcion escogida en la lista "padre"
BorrarLista();
array = eval("opciones" + array);

for (contador=0; contador<array.length; contador++)
{
// añade elementos nuestro combobox
var optionObj = new Option( array[contador].campo1,
array[contador].campo2 );

Listas.Provincias.options[contador] = optionObj;
} // for
} // ComponerLista


function BorrarLista() {

Listas.Provincias.length=0;
}

//Inicializamos
ComponerLista (1);

</SCRIPT>
<br>


</BODY>
</HTML>
<% end sub %>

Preguntas similare

Leer las respuestas

#6 Maria José Salas
01/07/2005 - 21:37 | Informe spam
Hola Manuel gracias por contestar
Mira es que soy novata en asp y no se muy bien lo que me dices.
Has visto el código mas arriba? Es que tengo HTML, JavaScrip, a todo le
tengo que poner shtm. Es que no se muy bien utilizar lo que me dices.
Gracias.

"Manuel Vera" escribió en el mensaje
news:
Mostrar la cita
#7 Matias Iacono
01/07/2005 - 22:07 | Informe spam
La otra cosa posible es que agregues los () al final del sub

Sub Lista()
end sub

Y

Call Lista()

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"Maria José Salas" escribió en el mensaje
news:
Mostrar la cita
#8 Manuel Vera
01/07/2005 - 22:17 | Informe spam
Ah... tienes razon... eso , lo de la condicion si lo he hecho.
Gracias
Tenia la duda
Salu2
MV

"Matias Iacono" wrote in message
news:
Mostrar la cita
cuando
Mostrar la cita
el
Mostrar la cita
combo
Mostrar la cita
si
Mostrar la cita
que
Mostrar la cita
el
Mostrar la cita
todo
Mostrar la cita
HEAD,
Mostrar la cita
ejecuto
Mostrar la cita
la
Mostrar la cita
#9 Manuel Vera
01/07/2005 - 22:28 | Informe spam
Ok... en vista de que Matias ya me aclaró la duda que yo tenía, partamos de
la recomendación que el mismo te dio anteriormente: usar el tag <HTML> una
sola vez.

Entonces, tu rutina LISTAS() te quedaría como sigue:

<% sub listas %>
<H2><CENTER>Listas dinámicas dependientes</CENTER></H2>
<P><B>Elige un pais para ver las provincias:</B>
<P>
<FORM NAME="Listas" METHOD="POST" ACTION="">
<B>Paises</B>
<SELECT NAME="paises" SIZE="1"
OnChange="ComponerLista
(document.forms.Listas.paises[selectedIndex].value);">
<%
Dim oConn, rs, SQL, cuenta, pais

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("mibase.mdb")

SQL="SELECT * FROM paises"
rs.Open SQL, oConn
cuenta=1
while not rs.EOF
%>
<OPTION VALUE="<%=rs.Fields("Idpais")%>"
<% if cuenta=1 then%>
SELECTED
<%end if%>>
<%=rs.Fields("pais")%></OPTION>
<%
rs.MoveNext
cuenta=cuenta+1
wend
rs.Close
%>
</SELECT>
<P><B>Provincias</B>
<SELECT NAME="Provincias" SIZE="1">
</SELECT>
</FORM>

<SCRIPT LANGUAGE="Javascript">
<!--
function Tupla ( campo1, campo2 )
{
this.campo1 = campo1;
this.campo2 = campo2;
}

<%
'Vamos a crear nuestros arrays de productos desde ASP
'El primer if detecta un cambio en la categoría para
'crear un nuevo array en Javascript

SQL="SELECT * FROM provincias ORDER BY npais, IdProvincia"
rs.Open SQL, oConn
cuenta=0
cat="basura"
while not rs.EOF
if cat<>rs.Fields("npais") then
' cambio de categoria, empiezo a contar en 0
cuenta=0
cat=rs.Fields("npais")
'además tengo que crear un nuevo array para la categoría
%>
var opciones<%=cat%> = new Array();
<%
end if
%>
opciones<%=cat%>[<%=cuenta%>]=new
Tupla("<%=rs.Fields("provincia")%>","<%=rs.Fields("IdProvincia")%>");

<%
cuenta=cuenta+1
rs.MoveNext
wend
%>


<%
'Limpiamos objetos
rs.Close
set rs=nothing
oConn.Close
set oConn=nothing
%>

var contador;

function ComponerLista ( array ) {
// Compone la lista dependiente a partir
// del valor de la opcion escogida en la lista "padre"
BorrarLista();
array = eval("opciones" + array);

for (contador=0; contador<array.length; contador++)
{
// añade elementos nuestro combobox
var optionObj = new Option( array[contador].campo1,
array[contador].campo2 );

Listas.Provincias.options[contador] = optionObj;
} // for
} // ComponerLista


function BorrarLista() {

Listas.Provincias.length=0;
}

//Inicializamos
ComponerLista (1);

</SCRIPT>
<br>
<% end sub %>

Coloca eso en un include como tenias inicialmente a ver como te funciona.

Salu2
MV
#10 Maria José Salas
01/07/2005 - 22:54 | Informe spam
Muchas gracias por vuestra ayuda chicos pero lo dejo porque sigue sin
funcionar y no se como hacerlo.
Me carga el primer select con los paises pero luego las provincias me queda
vacio.

Gracias de nuevo ya no os molesto mas


"Manuel Vera" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida