collapse

* Links de Robótica

* Posts Recentes

duvidas sobre utilização de um osciloscopio(zito) num circuito básico por vasco
[Hoje às 01:09]


A Paixão da Física Walter Lewin , Warren Goldstein por Njay
[Ontem às 11:45]


Gerar CPL file a partir dos Gerbers? por Hugu
[Ontem às 00:22]


Díodo schottky por SerraCabo
[17 de Agosto de 2017, 21:51]


Ajuda num relógio para termoacumulador por dennis_boy
[17 de Agosto de 2017, 00:07]


Aspiração para CNC por LVirtual
[14 de Agosto de 2017, 17:34]


Ligar motor de drive de DVD por jm_araujo
[14 de Agosto de 2017, 09:25]


Nos primordios da automaçao... por LVirtual
[13 de Agosto de 2017, 10:00]


Placa desconhecida em brinquedo por SerraCabo
[12 de Agosto de 2017, 23:46]


Inquérito sobre a interação humano-robot por Ana Pires
[12 de Agosto de 2017, 20:53]

Autor Tópico: Javascript  (Lida 1287 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Javascript
« em: 15 de Julho de 2013, 17:44 »
Olá a todos,

Ando a ver se aprendo qualquer coisa sobre linguagens web.

Num exemplo simples que fiz para maquina de calcular em javascript html só que a parte de javascript não funciona no browser.

Código: [Seleccione]
<html>
<head>
<script type="text/javascript">
<!-- inicio
function a_mais_b(a,b){
x=eval(a);
y=eval(b);

resultado=x y;
document.forms[0].elements[7].value=resultado;
}

function a_menos_b(a,b){
x=eval(a);
y=eval(b);

resultado=x -;
document.forms[0].elements[7].value=resultado;
}

function a_vezes_b(a,b){
x=eval(a);
y=eval(b);

resultado=x*y;
document.forms[0].elements[7].value=resultado;
}

function a_dividir_b(a,b){
x=eval(a);
y=eval(b);

resultado=x/y;
document.forms[0].elements[7].value=resultado;
}

function a_potencia_b(a,b){
x=parseInt(a);
y=parseInt(b);

resultado=Math.pow(x,y);
document.forms[0].elements[7].value=resultado;
}
</script>
</head>

<body>
<form>
<input type="text" size="4" name="a">
<input type="button" value="   " onclick="a_mais_b(document.forms[0].elements[5].value,document.forms[0].elements[6].value)" >
<input type="button" value=" - " onclick="a_menos_b(document.forms[0].elements[5].value,document.forms[0].elements[6].value)" >
<input type="button" value=" x " onclick="a_vezes_b(document.forms[0].elements[5].value,document.forms[0].elements[6].value)" >
<input type="button" value=" / " onclick="a_dividir_b(document.forms[0].elements[5].value,document.forms[0].elements[6].value)" >
<input type="button" value=" pot " onclick="a_potencia_b(document.forms[0].elements[5].value,document.forms[0].elements[6].value)" >

<input type="text" size="4" name="b">
=
<input type="text" size="4" name="resultado">

</form>
</body>
</html>

Só gravei em .html e corri, a parte de fazer os cálculos não faz.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726
Re: Javascript
« Responder #1 em: 15 de Julho de 2013, 19:07 »
Tens alguns erros. Usa o console.log(var) para fazeres debug dos valores que estão a entrar na função. Usa as developer tools do firefox ou chrome, acedes através do F12, na consola consegues ver que erros existem.

O primeiro é loga na função de adiçã:
Código: [Seleccione]
resultado=x y;
devia ser:
Código: [Seleccione]
resultado=x+y;

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: Javascript
« Responder #2 em: 15 de Julho de 2013, 20:02 »
Como o metro já disse, tens algums erros de sintaxe e a consola é a tua melhor amiga aqui. Mesmo que as coisas parecam estar a correr bem é sempre boa idéia ter a consola aberta, podes ter erros que não aparecam logo ao inicio mas dem problemas mais tarde (por exemplo se chamares uma função que não exista, só vai dar erro quando ela for chamada, e não logo ao inicio).

Já agora, em relação à maneira como estás a referenciar as coisas, isso assim é estranho... Estás a ir buscar as variáveis a vectores que contem os vários elementos da página... Isso faria mais sendido se a página fosse dinâmica. Tendo conteudos estáticos o normal é fazer coisas do tipo:
Código: [Seleccione]
<input id="a" type="text" size="4" name="a">

e depois para ir buscar os valores usa-se por exemplo:
Código: [Seleccione]
var value= document.getElementById("a").value;

Da maneira que tu fizeste se adicionas ou removes algum componente os indexes movem-se todos, desta forma sabes sempre que estás a ir buscar as coisas certas.

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: Javascript
« Responder #3 em: 16 de Julho de 2013, 00:00 »
Obrigado pelas dicas..

A cena é que o chrome nao esta a intrepretar o js.. sera que tenho que compilar?

Para fazer isto usei o notepad++, aconselham outro programa?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.056
    • Tróniquices
Re: Javascript
« Responder #4 em: 16 de Julho de 2013, 00:03 »
Parece-me que não fechaste o comentário. Acho que isso já não se usa, deita fora.

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: Javascript
« Responder #5 em: 16 de Julho de 2013, 00:07 »
Parece-me que não fechaste o comentário. Acho que isso já não se usa, deita fora.

O que ja nao se usa?

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726
Re: Javascript
« Responder #6 em: 16 de Julho de 2013, 00:10 »
Obrigado pelas dicas..

A cena é que o chrome nao esta a intrepretar o js.. sera que tenho que compilar?

Para fazer isto usei o notepad++, aconselham outro programa?

No chrome carrega F12 e vai à consola, estão lá os erros. Aqui corrigi e ficou a funcionar.

O javascript é script, isto é, não é compilado.

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: Javascript
« Responder #7 em: 16 de Julho de 2013, 01:00 »
A cena é que o chrome nao esta a intrepretar o js.. sera que tenho que compilar?
Para fazer isto usei o notepad++, aconselham outro programa?

Eu tb uso o notepad++, faz bem o servico ;)
Como o metro já disse, aquilo é um script que é corrido no browser, por isso a unica coisa que precisas mesmo é do teu editor de texto preferido!

Em relação ao browser não correr o javascript, tambem pode ser um problema de segurança, se estiveres a correr a partir de um ficheiro local no disco. Nesses casos eu inicio o Chrome fazendo "chrome --allow-file-access-from-files" (mas se o problema for este na consola tb devia dar um erro qualquer a queixar-se disso, acho eu).