Ir ao conteúdo

Javascript Código para somar dois valores


Ir à solução Resolvido por jotamnz,

Posts recomendados

Postado

Olá!

 

Peço desculpas de antemão pois eu não sei absolutamente nada sobre Javascript.

Alguém pode me ajudar na criação de um código aparentemente bem simples?

 

Estou utilizando o Adobe Acrobat para editar um PDF, e preciso de um código para colocar em um botão, onde ele faz o seguinte:

 

CampoA: 12

CampoB: 5

Ao apertar esse botão, o valor do CampoA sobe para 17.

 

Ou seja, vai acontecer uma soma entre A e B, e o resultado vai aparecer no CampoA.

E vai existir um outro campo, chamado de CampoC, onde ele indica o limite até onde essa soma pode ir.

Por exemplo, se a gente repetir o exemplo acima de 12 e 5, mas o CampoC tem o número 14, o resultado da soma de 12 e 5 vai ser 14.

 

É um sistema de Curar (Botão 1) e Tomar Dano (Botão 2) a partir de um número que eu vou escrever (CampoB), onde existe uma Vida Atual (CampoA) e uma Vida Máxima (CampoC).

Visualmente seria isso aqui:

GIFVida.gif.ac3381dd0c01ebcc346e8b992ab83d01.gif

 

Seria interessante se o CampoB fosse limpo após essa soma/subtração ser realizada, mas realmente tanto faz.

 

Pesquisei bastante na internet e achei o seguinte código:

var f = this.getField("CampoA");
var v = f.value.match(/\d+$/)[0];
f.value = f.value.replace(v, util.printf("%0"+v.length+"d", Number(v)+1));

Ele funciona, e soma 1 ao CampoA quando aperto o botão.

E quando eu mudo o sinal + (quase no final do código) para um - (menos), ele subtrai 1.

Só que essa subtração é meio bugada, ela vai até -1, quando clico de novo no botão, sobe para 0, e fica nesse ciclo de -1 e 0 infinitamente.

 

Tentei entender esse código para tentar alterá-lo, mas falhei de todas as formas possíveis.

Minha ideia era criar uma outra var e tentar adicioná-la no final, ao invés de +1, mas não descobri como.

 

Obrigado.

 

Postado

@DiF Dentro de um PDF. Mas isso é irrelevante, creio eu.

 

Por exemplo o código que eu citei, funciona do jeito que eu descrevi, isso tudo  dentro de um PDF, então teria que ser algo naquele sentido.

 

9 horas atrás, juniorasmj disse:

Pesquisei bastante na internet e achei o seguinte código:


var f = this.getField("CampoA");
var v = f.value.match(/\d+$/)[0];
f.value = f.value.replace(v, util.printf("%0"+v.length+"d", Number(v)+1));

Ele funciona, e soma 1 ao CampoA quando aperto o botão.

E quando eu mudo o sinal + (quase no final do código) para um - (menos), ele subtrai 1.

 

Basicamente, o programa de edição de PDF me dá a possibilidade de criar um botão, e de fazer esse botão executar um Javascript depois que alguém clicar nele.

  • Moderador
Postado

@juniorasmj Então como eu disse anteriormente, desconheço.  é novidade para eu, essa de um programa permitir javascript em um pdf.  Por isso não poderei ajudar.  se fosse uma página HTML, seria bem fácil usando o jQuery.

  • Curtir 1
Postado

@DiF Compreendi. Sem problemas, obrigado de qualquer forma.

Até onde eu posso dizer, vai funcionar exatamente igual a como funcionaria em uma página HTML. Se quiser um pouco mais de contexto, eu posso tirar alguns prints do programa ou algo assim.

 

Sobre o código que eu enviei acima, se não for pedir muito, você saberia me dizer o que a segunda e a terceira linha estão fazendo?

 

Talvez eu consiga editar esse código e chegar no resultado que eu quero...

  • Solução
Postado

Consegui descobrir como fazer :)

 

Caso alguém precise de um código parecido, é este que eu usei:

    var valor = Number(this.getField("Valor").valueAsString);
    var atual= Number(this.getField("Atual").valueAsString);
    if (isNaN(atual)) atual = 0;
    var max = Number(this.getField("Max").valueAsString);
    this.getField("Atual").value = Math.min(max, valor+atual);    
    this.resetForm(["Valor"]);

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...