ASP - ASP y Javascript

 
Vista:

ASP y Javascript

Publicado por gonzo (17 intervenciones) el 18/01/2001 00:00:00
Hola:
estoy intentando crear un menú partiendo de una BD mediante una página ASP.
La conexión con la BD ya la tengo realizada (mediante VBScript), y ahora
quiero pasarle la BD a una función hecha en Javascript, pero no lo logro.
Al final del código ASP tengo:

If registros.Fields("tipo").Value="padre" then
generateTree(registros.Fields("nombre").Value)

End If
%>
Siendo generateTree una función definida anteriormente, en Javascript. El
navegador me da el siguiente error:
"Microsoft VBScript runtime error ´800a000d´

Type mismatch: ´generateTree´

/menu/default.asp, line 288 "

¿Qué he de hacer para que esto funcione?
Gracias!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ASP y Javascript

Publicado por javier (220 intervenciones) el 18/01/2001 00:00:00
El problema que tienes es que el vbscrip esta intentando reconocer la función generateTree, como una función que has creado tu en vbscrip, no sabe que es de javascript. para solucionarlo, primero de todo tienes que saber que dentro del codigo javascrip se puede incluir codigo asp, que genere un resultado en javascript, por tanto puedes poner el siguiente codigo
If registros.Fields("tipo").Value="padre" then
<scriptlanguaje="javascript">
generateTree(<%registros.Fields("nombre").Value%>)
</scrip>
y al ejecutarse la pagina en el servidor sustituira la parte de asp de la llamada a generateTree por el valor del campo (quizas tengas que poner comillas). y aunque hayas puesto codigo javascript en medio de codigo de vbscript no dara ningun problema, a mi por lo menos no me da ningun problema, y por tanto te llamara a la funcion generateTree.
Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ASP y Javascript-> No rula

Publicado por gonzo (17 intervenciones) el 19/01/2001 00:00:00
Pues no me funciona. Te pongo el código:

</HEAD>

<!-- Aquí empieza la conexión con la BD mediante ASP-->


<%@ LANGUAGE="VBScript" %>
<%
Dim conexion, registros, basedatos, aux
basedatos = Server.MapPath("menu.mdb")

Set conexion = Server.CreateObject("ADODB.Connection")

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & basedatos & ";"
Set registros = conexion.Execute("SELECT * FROM Menu ORDER BY Menu.Nombre")

Do While Not registros.EOF


If registros.Fields("tipo").Value="padre" then
<script LANGUAGE="JavaScript">
generateTree(<%registros.Fields("nombre").Value%>)
</script>
End If
%>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ASP y Javascript-> No rula

Publicado por javier (220 intervenciones) el 19/01/2001 00:00:00
Lo siento, se me olvido una cosilla, no es:
If registros.Fields("tipo").Value="padre" then
<script LANGUAGE="JavaScript">
generateTree(<%registros.Fields("nombre").Value%>)
</script>

Es:
If registros.Fields("tipo").Value="padre" then %>
<script LANGUAGE="JavaScript">
generateTree(<%registros.Fields("nombre").Value%>)
</script>
<%End If

No me acorde de dicirte que tienias que cerrar las "<%" para que no interprete en codigo en el servidor, y abrirlos cuando se acaba el codigo javascript.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar