Pegar variável da JSP no javascript

6 respostas
G

Olá a todos.
Alguém sabe como pego a minha variável definida na JSP dentro de uma função javascript.
Com o código abaixo não está dando certo:

<%
      String x1v[] = {"0.0", "1000.0", "2000.0", "3000.0", "4000.0", "4500.0", "5000.0"};
      String y1v[] = {"7.0", "8.3", "9.59", "7.2", "10.9", "8.0", "11.0"};
      int tam = 7;
%>

<HTML><HEAD></HEAD><BODY>
<javascript>
 function passaVar() {
    var a = x1v[1];
    alert(a);
    }
<javascript>

<FORM>
<INPUT type="button" value="passa variáveis"
    onClick = "passaVar();">
</FORM>
</HTML>

6 Respostas

R

faz assim:

<%
      String x1v[] = {"0.0", "1000.0", "2000.0", "3000.0", "4000.0", "4500.0", "5000.0"};
      String y1v[] = {"7.0", "8.3", "9.59", "7.2", "10.9", "8.0", "11.0"};
      int tam = 7;
%>

<HTML><HEAD></HEAD><BODY>
<javascript>
 function passaVar() {
    var a = <%=x1v[1]%>;
    alert(a.value);
    }
<javascript>

<FORM>
<INPUT type="button" value="passa variáveis"
    onClick = "passaVar();">
</FORM>
</HTML>
G
Ok Renan, valeu! E para passar o array todo? como faço? De novo, o código abaixo não funciona:
<% 
      String x1v[] = {"0.0", "1000.8", "2000.0", "3000.0", "4000.0", "4500.0", "5000.0"}; 
      String y1v[] = {"7.0", "8.3", "9.59", "7.2", "10.9", "8.0", "11.0"}; 
      int tam = 7; 
      int ii;
%> 

<HTML><HEAD></HEAD><BODY> 
<javascript> 
 function passaVar() { 
      
      var tama = <%=tam%>;
      var array = new Array(tama);
    
      for (var i = 0; i < tama; i++) {
         <%ii=%> = i;
    	 array[i] = <%=x1v[ii]%>;
      }
      var a = <%=x1v[1]%>; 
      alert(a); 
    } 
<javascript>

<FORM> 
<INPUT type="button" value="passa variáveis" 
    onClick = "passaVar();"> 
</FORM> 
</HTML>
R

faz assim

<%
      String x1v[] = {"0.0", "1000.8", "2000.0", "3000.0", "4000.0", "4500.0", "5000.0"};
      String y1v[] = {"7.0", "8.3", "9.59", "7.2", "10.9", "8.0", "11.0"};
      int tam = 7;
      int ii;
%>

<HTML><HEAD></HEAD><BODY>
<javascript>
 function passaVar() {
     var a = new Array;

     
    <% 
         for(int i = 0; i < x1v.length; i++) {
     %>
            a[i] = <%=x1v[i]%>;
            alert(a[i].value);
     <%
         }
       %>
  }
<javascript>

<FORM>
<INPUT type="button" value="passa variáveis"
    onClick = "passaVar();">
</FORM>
</HTML>

é isso?

G

Renan, alterei algumas coisas e funcionou beleza. Valeu.
Segue o código, []s, Gilson.

<% 
      String x1v[] = {"0.0", "1000.8", "2000.0", "3000.0", "4000.0", "4500.0", "5000.0"}; 
      String y1v[] = {"7.0", "8.3", "9.59", "7.2", "10.9", "8.0", "11.0"}; 
      int tam = 7; 
      int ii; 
%> 

<HTML><HEAD></HEAD><BODY> 
<javascript>
 function passaVar() { 
     var a = new Array();  
    <% 
         for(int i = 0; i < x1v.length; i++) { 
     %> 
              var ii =  <%=i%>;   
              a[ii] = <%=x1v[i]%>; 
              alert(a[ii]); 
     <% 
         } 
       %> 
  } 
<javascript>

<FORM> 
<INPUT type="button" value="passa variáveis" 
    onClick = "passaVar();"> 
</FORM> 
</HTML>
R

cara, realmente aquele outro codigo estava com erro.

olha, vc naum precisa criar outra variável (ii)...

segue meu codigo correto...

<%
      String x1v[] = {"0.0", "1000.8", "2000.0", "3000.0", "4000.0", "4500.0", "5000.0"};
      String y1v[] = {"7.0", "8.3", "9.59", "7.2", "10.9", "8.0", "11.0"};
      int tam = 7;
      int ii;
%>

<HTML><HEAD></HEAD><BODY>
<javascript>
 function passaVar() {
     var a = new Array(); 
    <%
         for(int i = 0; i < x1v.length; i++) {
     %>
              a[<%=i%>] = <%=x1v[i]%>;
              alert(a[<%=i%>]);
     <%
         }
       %>
  }
<javascript>

<FORM>
<INPUT type="button" value="passa variáveis"
    onClick = "passaVar();">
</FORM>
</HTML>
G

OK, funcionou!

Criado 11 de janeiro de 2005
Ultima resposta 12 de jan. de 2005
Respostas 6
Participantes 2