Duvida Formulario Html

Ola começei java ee e to com um probleminha em um exercicio eu to querendo fazer um formulario quando aperto em um botão quero que apereça os resultados das somas correspondentes mais não to conseguindo, consegui de somar mais não consigo juntar para aparecer uma diferente toda vez que aperto nela. O codigo que eu fiz foi esse ai, queria fazer esse codigo para quando eu apertar na sub so aparecer sub e soma so aparecer so a soma.Muito Obrigado se alguem me ajudar valeu.

   <body>
        <h1> Calculadora </h1>
        <form name="Calcul" method="post" action="/Exec/Resutlt">
            Numero1 : <input name="n1" type="text"/>
            <br>
            Numero2 : <input name="n2" type="text"/>
            <br>
            <input type="submit" value="Soma"/>
            <input type="submit" value="Sub"/>
        </form>
    </body>
</html>

wire,

Você precisa passar mais informações sobre o que você está tentando fazer. Você está usando apenas Servlets, algum framework específico? Qual problema está dando?

Ola e que to fazendo isso chamando as operações de um servlet no index mas so que quando eu aperto no sub por exemplo vem todas as operações juntas eu quero que so apareça uma operações toda vez que aperto no sub por exemplo, o action e aonde eu to chamando mais vem todas as operações, mas não sei como chamar aperta no sub e vim só a operação sub.Obrigado mais uma vez e desculpa sou iniciante em java ee.Valeu

Ah, agora entendi. :smiley:

Então, o conceito de Form é o seguinte: uma form tem uma action (action="/Exec/Resutlt" no seu caso) que é para onde você vai fazer a request, ou seja, para onde vc vai mandar o Form, e todos os elementos da form (os input text) ao submetê-lo. Provavelmente vc tem uma Servlet que vai tratar essa request.

Um botão de submit faz só uma coisa: envia o formulário para a action especificada. No seu caso você tem dois botões de submit, e os dois botões vão fazer a mesma coisa quando você clicar.

Para fazer o que você quer eu pensei em duas maneiras, uma fácil e uma mais complicada que envolve javascript.

  1. Jeito mais fácil
    Ao invés de colocar um botão de Soma e um de Subtração, você poderia colocar botão só chamado Calcular, ou Resultado, e um elemento , no qual vc selecionaria a operação aritmética que quer fazer nos números. Aí na sua servlet vc faria um IF para saber qual a operação vc tem que fazer para calcular o resultado.
<select name="operacao">
  <option value="soma">Soma</option>
  <option value="sub">Subtração</option>
</select>
  1. Jeito mais difícil
    Se você quer mesmo ter um botão para cada operação, você vai precisar adicionar um no seu form. Esse elemento é igual ao input text, só que ele é invisível para o usuário. No entanto você setaria o valor da operação via Javascript antes de submeter o form.

Algo assim:

<input type="hidden" id="operacao" />  
<input type="submit" value="Soma" onclick="document.getElementById('operacao').value='soma';"/>  
<input type="submit" value="Sub" onclick="document.getElementById('operacao').value='sub;"/>  

E, como o primeiro jeito, você precisa pegar na Servlet qual a operação que foi selecionada para saber qual resultado devolver.

Sacou?

Valeu mesmo pela ajuda,Obrigado :slight_smile: