Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/09/2004, 14:43
Avatar de dobled
dobled
 
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 23 años, 2 meses
Puntos: 2
Pregunta error en listas dependientes

baje el codigo de ASPFacil reemplace solo los datos de la BD pero me da un error , me dice error:se esperaba ';'

este es el codigo

Código:
<HTML>
<HEAD>
	<TITLE></TITLE>
</HEAD>
<BODY>


<H2>
  <CENTER>
  </CENTER>
</H2>
<FORM NAME="Listas" METHOD="POST" ACTION="receive.asp">
<B>Clientes</B>
<SELECT NAME="Categorias" SIZE="1" 
  OnChange="ComponerLista (document.forms.Listas.Categorias[selectedIndex].value);">
<%
Dim oConn, rs, SQL, cuenta, categoria

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

       SQL = "Driver={SQL Server};Description=sqldemo;SERVER=sql_ipaper; UID=sa;PWD=sa;DATABASE=DATA_04"
       set oConn = server.createobject("adodb.connection")
       Server.ScriptTimeout = 1200
       oConn.open SQL


SQL="SELECT cus_no, search_name FROM vprod_cltes_web group by search_name, cus_no ORDER by search_name"
rs.Open SQL, oConn
cuenta=1
while not rs.EOF 
%>
	<OPTION VALUE="<%=TRIM(rs.Fields("cus_no"))%>" 
	<% if cuenta=1 then%>
		SELECTED
	<%end if%>>
	<%=rs.Fields("search_name")%></OPTION>
<%
rs.MoveNext
cuenta=cuenta+1
wend
rs.Close
%>
</SELECT>
<P><B>Productos</B>
<SELECT NAME="Productos" SIZE="1">
</SELECT>
<P><INPUT TYPE="submit"></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 vprod_cltes_web "
rs.Open SQL, oConn
cuenta=0
cat="basura"
while not rs.EOF 
	if cat<>rs.Fields("cus_no") then
	' cambio de categoria, empiezo a contar en 0
		cuenta=0
		cat=rs.Fields("cus_no")
	'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("descripcion")%>","<%=rs.Fields("cus_no")%>");

<%
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.Productos.options[contador] = optionObj;
} // for
} // ComponerLista


function BorrarLista() {

	Listas.Productos.length=0;
}

//Inicializamos
ComponerLista (1);

-->
</SCRIPT>
<br>
</FORM>

</BODY>
</HTML>
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.