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

#1 Maria José Salas
01/07/2005 - 16:59 | Informe spam
Gracias Matia por contestar. Ya que quitado los tags que me has dicho pero
sigue sin funcionar.

Si cargo la página de la lista dependiente quitandole <%sub lista
%>.<%end sub%> la pagina funciona bien, es decir sale un combo donde
eligo el pais y luego otro donde puedo elegir la provincia, pero si pongo el
sub y la vuelvo a ejecutar ya no me funciona.
Sabeis como puedo solucionarlo.
Gracias




"Matias Iacono" escribió en el mensaje
news:
No habia tenido mucho tiempo en ver el codigo, pero lo primero que veo es
que en tu SUB, tambien incluyes los tags html de <html><body>

Al incluir estos, tambien se agregan en la pagina que contendra el
include, por lo que para el navegador habra un error de tags y todo se
mezclara.

Seguramente, si ves el codigo fuente resultante de tu pagina, todo estara
ahi, pero, como tienes esta mezcla de tag repetidos el navegador no tiene
la capacidad de mostrarla.

El resultado en tu caso queda algo asi:

<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">
<HTML>
<HEAD>
<TITLE>Listas dependientes</TITLE>
</HEAD>
<BODY>

Y ahi hay toda una confusion.

Como consejo, siempre que uses includes, solo coloca en estos codigo ASP,
nada de HTML, pero, de cabeceras, o sea, puedes generar tablas HTML, pero
no, como en este caso, el uso completo del HTML, HEAD, BODY, etc.

Saludos,

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

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"Maria José Salas" escribió en el mensaje
news:
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 %>





Respuesta Responder a este mensaje
#2 Matias Iacono
01/07/2005 - 18:31 | Informe spam
No habia tenido mucho tiempo en ver el codigo, pero lo primero que veo es
que en tu SUB, tambien incluyes los tags html de <html><body>

Al incluir estos, tambien se agregan en la pagina que contendra el include,
por lo que para el navegador habra un error de tags y todo se mezclara.

Seguramente, si ves el codigo fuente resultante de tu pagina, todo estara
ahi, pero, como tienes esta mezcla de tag repetidos el navegador no tiene la
capacidad de mostrarla.

El resultado en tu caso queda algo asi:

<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">
<HTML>
<HEAD>
<TITLE>Listas dependientes</TITLE>
</HEAD>
<BODY>

Y ahi hay toda una confusion.

Como consejo, siempre que uses includes, solo coloca en estos codigo ASP,
nada de HTML, pero, de cabeceras, o sea, puedes generar tablas HTML, pero
no, como en este caso, el uso completo del HTML, HEAD, BODY, etc.

Saludos,

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

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"Maria José Salas" escribió en el mensaje
news:
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 %>

Respuesta Responder a este mensaje
#3 Maria José Salas
01/07/2005 - 19:42 | Informe spam
Lo acabo de probar Matias tampoco funciona.
Ya no se como tengo que hacerlo. Necestio algo así:
http://www.casas365.com/es/buscador...vacaciones

alguien me puede ayudar?

"Matias Iacono" escribió en el mensaje
news:
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:
Gracias Matia por contestar. Ya que quitado los tags que me has dicho
pero sigue sin funcionar.

Si cargo la página de la lista dependiente quitandole <%sub lista
%>.<%end sub%> la pagina funciona bien, es decir sale un combo donde
eligo el pais y luego otro donde puedo elegir la provincia, pero si pongo
el sub y la vuelvo a ejecutar ya no me funciona.
Sabeis como puedo solucionarlo.
Gracias




"Matias Iacono" escribió en el mensaje
news:
No habia tenido mucho tiempo en ver el codigo, pero lo primero que veo
es que en tu SUB, tambien incluyes los tags html de <html><body>

Al incluir estos, tambien se agregan en la pagina que contendra el
include, por lo que para el navegador habra un error de tags y todo se
mezclara.

Seguramente, si ves el codigo fuente resultante de tu pagina, todo
estara ahi, pero, como tienes esta mezcla de tag repetidos el navegador
no tiene la capacidad de mostrarla.

El resultado en tu caso queda algo asi:

<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">
<HTML>
<HEAD>
<TITLE>Listas dependientes</TITLE>
</HEAD>
<BODY>

Y ahi hay toda una confusion.

Como consejo, siempre que uses includes, solo coloca en estos codigo
ASP, nada de HTML, pero, de cabeceras, o sea, puedes generar tablas
HTML, pero no, como en este caso, el uso completo del HTML, HEAD, BODY,
etc.

Saludos,

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

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"Maria José Salas" escribió en el mensaje
news:
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 %>













Respuesta Responder a este mensaje
#4 Manuel Vera
01/07/2005 - 20:44 | Informe spam
Una idea...

La rutina Sub...End Sub que tienes en el include conviertela TODA en codigo
ASP. Es decir, tu tienes por ejemplo algo como:

<% sub xxx %>
<form name=x method=z>
<otros tags html>
<%
rutinas ASP
%>
etc
<%end sub%>

Yo lo haria (y de hecho asi lo hago) así:

<%
sub xxx()
dim shtm
shtm = "<form name=x method=z>"
shtm = shtm & "<otros tags html>"

tus otras rutinas ASP
aqui concatenas tus salidas de HTML con la variable shtm
etc
shtm = shtm & "</FORM>"
end sub
%>

Salu2
MV


"Maria José Salas" wrote in message
news:%
Lo acabo de probar Matias tampoco funciona.
Ya no se como tengo que hacerlo. Necestio algo así:
http://www.casas365.com/es/buscador...vacaciones

alguien me puede ayudar?

"Matias Iacono" escribió en el mensaje
news:
> 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:
>> Gracias Matia por contestar. Ya que quitado los tags que me has dicho
>> pero sigue sin funcionar.
>>
>> Si cargo la página de la lista dependiente quitandole <%sub lista
>> %>.<%end sub%> la pagina funciona bien, es decir sale un combo


donde
>> eligo el pais y luego otro donde puedo elegir la provincia, pero si


pongo
>> el sub y la vuelvo a ejecutar ya no me funciona.
>> Sabeis como puedo solucionarlo.
>> Gracias
>>
>>
>>
>>
>> "Matias Iacono" escribió en el mensaje
>> news:
>>> No habia tenido mucho tiempo en ver el codigo, pero lo primero que veo
>>> es que en tu SUB, tambien incluyes los tags html de <html><body>
>>>
>>> Al incluir estos, tambien se agregan en la pagina que contendra el
>>> include, por lo que para el navegador habra un error de tags y todo se
>>> mezclara.
>>>
>>> Seguramente, si ves el codigo fuente resultante de tu pagina, todo
>>> estara ahi, pero, como tienes esta mezcla de tag repetidos el


navegador
>>> no tiene la capacidad de mostrarla.
>>>
>>> El resultado en tu caso queda algo asi:
>>>
>>> <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">
>>> <HTML>
>>> <HEAD>
>>> <TITLE>Listas dependientes</TITLE>
>>> </HEAD>
>>> <BODY>
>>>
>>> Y ahi hay toda una confusion.
>>>
>>> Como consejo, siempre que uses includes, solo coloca en estos codigo
>>> ASP, nada de HTML, pero, de cabeceras, o sea, puedes generar tablas
>>> HTML, pero no, como en este caso, el uso completo del HTML, HEAD,


BODY,
>>> etc.
>>>
>>> Saludos,
>>>
>>> Matías Iacono
>>> Microsoft MVP ASP/ASP.net - DCE3
>>>
>>> Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
>>> "Maria José Salas" escribió en el mensaje
>>> news:
>>>> 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 %>
>>>>
>>>
>>>
>>
>>
>
>


Respuesta Responder a este mensaje
#5 Manuel Vera
01/07/2005 - 21:23 | Informe spam
Una pregunta Matias...
Tu haz hecho algo como lo hace Maria Jose?
Es decir, colocar HTML puro y directo dentro de un SUb..End Sub de
VBScript... y que se cargue solo cuando tu invocas el procedimiento?
Como yo lo veo, de esa forma, los tags HTML se cargan dos veces, 1 cuando se
invoca la rutina y 2 cuando se muestra el HTML de salida al navegador
cliente.
Por eso es que yo le sugiero meter todo dentro de variables de VBScript.
Salu2
MV

"Matias Iacono" wrote in message
news:
Como lo dices, parece que no queda salida :D

De cualquier manera, si no marca un error, estoy mas que seguro que el
problema se debe a que algun tag html esta siendo mal interpretado por el
navegador y hace que nada se vea.



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

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"Manuel Vera" escribió en el mensaje
news:
> Una idea...
>
> La rutina Sub...End Sub que tienes en el include conviertela TODA en
> codigo
> ASP. Es decir, tu tienes por ejemplo algo como:
>
> <% sub xxx %>
> <form name=x method=z>
> <otros tags html>
> <%
> rutinas ASP
> %>
> etc
> <%end sub%>
>
> Yo lo haria (y de hecho asi lo hago) así:
>
> <%
> sub xxx()
> dim shtm
> shtm = "<form name=x method=z>"
> shtm = shtm & "<otros tags html>"
>
> tus otras rutinas ASP
> aqui concatenas tus salidas de HTML con la variable shtm
> etc
> shtm = shtm & "</FORM>"
> end sub
> %>
>
> Salu2
> MV
>
>
> "Maria José Salas" wrote in message
> news:%
>> Lo acabo de probar Matias tampoco funciona.
>> Ya no se como tengo que hacerlo. Necestio algo así:
>> http://www.casas365.com/es/buscador...vacaciones
>>
>> alguien me puede ayudar?
>>
>> "Matias Iacono" escribió en el mensaje
>> news:
>> > 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:
>> >> Gracias Matia por contestar. Ya que quitado los tags que me has


dicho
>> >> pero sigue sin funcionar.
>> >>
>> >> Si cargo la página de la lista dependiente quitandole <%sub lista
>> >> %>.<%end sub%> la pagina funciona bien, es decir sale un combo
> donde
>> >> eligo el pais y luego otro donde puedo elegir la provincia, pero si
> pongo
>> >> el sub y la vuelvo a ejecutar ya no me funciona.
>> >> Sabeis como puedo solucionarlo.
>> >> Gracias
>> >>
>> >>
>> >>
>> >>
>> >> "Matias Iacono" escribió en el mensaje
>> >> news:
>> >>> No habia tenido mucho tiempo en ver el codigo, pero lo primero que
>> >>> veo
>> >>> es que en tu SUB, tambien incluyes los tags html de <html><body>

>> >>>
>> >>> Al incluir estos, tambien se agregan en la pagina que contendra el
>> >>> include, por lo que para el navegador habra un error de tags y todo
>> >>> se
>> >>> mezclara.
>> >>>
>> >>> Seguramente, si ves el codigo fuente resultante de tu pagina, todo
>> >>> estara ahi, pero, como tienes esta mezcla de tag repetidos el
> navegador
>> >>> no tiene la capacidad de mostrarla.
>> >>>
>> >>> El resultado en tu caso queda algo asi:
>> >>>
>> >>> <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">
>> >>> <HTML>
>> >>> <HEAD>
>> >>> <TITLE>Listas dependientes</TITLE>
>> >>> </HEAD>
>> >>> <BODY>
>> >>>
>> >>> Y ahi hay toda una confusion.
>> >>>
>> >>> Como consejo, siempre que uses includes, solo coloca en estos


codigo
>> >>> ASP, nada de HTML, pero, de cabeceras, o sea, puedes generar tablas
>> >>> HTML, pero no, como en este caso, el uso completo del HTML, HEAD,
> BODY,
>> >>> etc.
>> >>>
>> >>> Saludos,
>> >>>
>> >>> Matías Iacono
>> >>> Microsoft MVP ASP/ASP.net - DCE3
>> >>>
>> >>> Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
>> >>> "Maria José Salas" escribió en el mensaje
>> >>> news:
>> >>>> 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;
>> >>>>
>> >>>> <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 %>
>> >>>>
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida