ASP - Array de VBScript a JavaScript

   
Vista:

Array de VBScript a JavaScript

Publicado por Rubinenca (2 intervenciones) el 09/06/2014 21:05:23
Hola,

Hace días que le estoy dando vueltas y no consigo que me salga, estoy desesperada, espero me puedan ayudar.

Tengo una web en ASP donde hemos quitado los componentes Flash que generaban los gráficos para incorporar esta funcionalidad mediante una librería JavaScript.

En una misma página ASP se leen unos ficheros de texto, se guardan los datos en unos arrays y estos se deben pasar a las funciones javascript. Todo esto no está en una función, ya que dependiendo de las opciones del menú seleccionadas se leen unos ficheros o otros. Es un código muy extenso.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@ LANGUAGE="VBSCRIPT" %>
<%
···
  ReDim LisOp(numop) 'Array Op
  ReDim LisCo(numop) 'Array Co
  ReDim LisVo(numop) 'Array Vo

  aux = opciones
  for i = 1 to numop
    p = InStr(aux,",")
    if p > 0 Then
      LisOp(i - 1) = Left(aux,(p - 1))
      aux = Right(aux,(Len(aux) - p))
    else
      LisOp(i - 1) = aux
      aux = ""
    end if
  Next
···
%>

En estas variables LisOp, LisCo, LisVo tengo los datos. El problema es cuando quiero pasar esta información a javascript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  <META HTTP-EQUIV="refresh" CONTENT="<%= TieRefresco%>">
  <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  <script language="JavaScript">
 
  google.load('visualization', '1', {'packages': ['table', 'corechart']});
  google.setOnLoadCallback(draw);
 
  function draw() {
   var options = {title: '',
		legend: {position: "none"},
		hAxis: {textStyle: {color: 'black', fontName: 'Arial Black', size:16}}
		 };
 
   //create data table object
   var datat = new google.visualization.DataTable(); //DataTable Roles
 
    //define columns
    datat.addColumn('string','<%=tOpciones%>'); // Implicit domain column. 
    datat.addColumn('number', '<%=tVotos%>'); // Implicit data column. 
   datat.addColumn({type: 'string', role: 'style'});
   datat.addColumn({type: 'string', role: 'annotation'});
 
   for (var i = 0; i < <%=numop%>-1; i++) {
	datat.addRow(['OP1', 450, 'color: green', '450']);
}
···
</script>
</HEAD>
<BODY>
···

En el ejemplo he dejado unos valores fijos para que se vea como se pasan a la función addRow, pero aquí deben estar los arrays creados en visual basic script LisOp, LisVo, LisCo. Con los valores fijos me funciona sin problemas. A continuación detallo algunos ejemplos de código que hice justo en la parte de la función JavaScript addRow para añadir los datos en la gráfica:

He probado la función VBArray(arrayObj).toArray(); pero me da error y no me crea las gráficas:
1
2
3
4
5
6
7
8
9
var arrayObj;
        var jsArray;
 
        arrayObj = LisOp
        jsArray = VBArray(arrayObj).toArray();
 
         for (var i = 0; i < <%=numop%>-1; i++) {
	   datat.addRow([jsArray[i], 450, 'color: green', '450']);
   	 }

He probado de hacer el bucle del for en VBScript dentro de la función draw() pero tampoco funciona:

1
2
3
<%for i = 0 to numop%>
		datat.addRow([<%=LisOp(i)%>, <%=LisVo(i)%>, <%=LisCo(i)%>,<%=LisVo(i)%>])
	<%next%>

¿Alguna idea? ¿Cómo tengo que hacerlo?

Necesito vuestra ayuda urgentemente.

Muchas gracias por todo.
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

Array de VBScript a JavaScript

Publicado por Rubinenca (2 intervenciones) el 10/06/2014 19:45:01
Por si a alguien le interesa ya está solucionado.

Ya iba bien encaminada. Sólo que en la llamada a la función, me faltaba pasarle las comillas en los parámetros necesarios:

<%for i = 0 to numop%>
datat.addRow('[<%=LisOp(i)%>', <%=LisVo(i)%>, '<%=LisCo(i)%>','<%=LisVo(i)%>'])
<%next%>

Gracias igualmente.

Saludos,
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
Imágen de perfil de xve

Array de VBScript a JavaScript

Publicado por xve (19 intervenciones) el 10/06/2014 22:29:34
Gracias por compartirlo Rubinenca!!!
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