JavaScript - No puedo usar funciones de js externo al html

 
Vista:
sin imagen de perfil

No puedo usar funciones de js externo al html

Publicado por Absant (6 intervenciones) el 21/05/2018 12:21:10
Buenas, les cuento mi problema.

Estoy realizando una app en javascript, y aplicando el codigo js directamente sobre el html funciona sin problemas. Pero al ser varios metodos, algo extensos en algunos casos, el codigo queda bastante largo y desordenado. Asi que lo añadi a un js externo. Pero una vez hecho esto, intento invocar las funciones pero me lanza el siguiente error.

"showCat is not defined" (shoCat es un metodo)

Añado un alert para ver si realmente llega a entrar, pero jamas entra en el metodo.

1
<script type="text/javascript" src="compras.js"></script>

Asi es como importo el archivo js


y aqui el script completo que llama al metodo y en negrita, la llamada en si. (Hay mezcla de codigo js y jsp)

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<script>
 
var list = new Array();
var valores=new Array();
var cont=0;
var ticket= new Array();
var prodticket= new Array();
var prueba;
var contprod=0;
 
  var tabla   = document.getElementById("table");
  var tblBody = document.getElementById("tbody");
  var body = document.getElementById("panelmain");
  var hilera = document.createElement("tr");
 
 
<%
for(String[] aux : lista){
 
    %>
 
 
    var celda = document.createElement("td");
 
    valores.push("<%=aux[0]%>");
    valores.push("<%=aux[1]%>");
    valores.push("<%=aux[2]%>");
    valores.push("<%=aux[3]%>");
 
 
    document.write(valores.length);
    list.push(valores);
 
    valores=[];
 
    $( document ).ready(function() {
         celda.appendChild(showCat(list,'<%=aux[0]%>',<%=cont%>));
    });
 
    hilera.appendChild(celda);
    <%
    cont ++;
 
};
 
    %>
    tblBody.appendChild(hilera);
      tabla.appendChild(tblBody);
 
    </script>
 
    <%
 
    };
%>

El metodo ShowCat devuelve un boton con lel texto que toma de la lista y le asigna un id.


Mi duda es.

¿Estoy llamando mal a la función?¿No importe bien el archivo?¿Me falta alguna librería?
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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 34
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

No puedo usar funciones de js externo al html

Publicado por Wilfredo Patricio Castillo (12 intervenciones) el 22/05/2018 00:32:40
Si tienes un archivo html, al final antes de cerrar el </body>
colocas
<script src="~/Scripts/compras.js"></script>

Y en ese archivo metes todas tus funciones javascript y listo, te debe funcionar.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

No puedo usar funciones de js externo al html

Publicado por Absant (6 intervenciones) el 22/05/2018 11:16:08
Gracias!
Yo lo tenia al comienzo del body, pero poniéndolo al final parece que si funciona :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar