2 hidden no mesmo form

Comunidade é o seguinte…

Estou querendo em um mesmo form Adicionar, Atualizar ou Remover um cadastro.

para que eu adicione um cadastro uso a seguinte sintaxe:

        <input type="submit" name="salvar" value="Salvar"/>
        <input type="hidden" name="logica" value="AdicionaClienteLogic"/>

para atualizar:

        <input type="submit" name="atualizar" value="Atualizar"/>
        <input type="hidden" name="logica" value="AtualizaClienteLogic"/>

Essas duas ações, em formulários diferentes fazem a execução. Quando no mesmo formulário é executado a primeira logica que é encontrado.

Estava tentando através do JavaScript. Criei uma function acaoBnt() e lançei em alerte para cada botão (adicionar e atualizar). Funcionou, mas ele continua executando a primeira logica encontrada.

Penso que há uma forma de implementação que ligue o submit e o hidden para que execute a logica correta.

Minha function está assim:

        function acaoBtn(){
            if (form.id.value == ""){
                alert ("Cliente adicionado!");
            }else{
                alert ("Cliente atualizado!");
            }
        }

O programa consegue diferenciar uma ação da outra pelo campo id. Se estiver vazio ele adiciona. Se não, ele atualizar. Mas a logica ele sempre executa a primeira que encontrar.

Conto com a ajuda de vcs.

Desde já agradeço.

para adicionar ou atualizar, vc poderia criar um hidden com o name de id e o value com o id do cadastro, se o id for igual A null então é um salvar e se o id for diferente de null é um alterar.

Mas para o excluir tem que enviar um parametro para informar que é um excluir, ou então, no listar vc coloca o link de excluir e não precisa necessáriamente de um formulario. ok?

Porque você não coloca somente um botão para submit e verifica qual ação chamar no evento do botão.

Cuidado com estes métodos, podem ser facilmente usados contra a consistência de seus dados.

Use apenas um método para salvar, este verifica se está incluindo ou editando.
Ou então, use uma estratégia para que uma edição sempre chame o método de update e uma inclusão sempre um método de insert.

Saudações comunidade,

Agradeço a ajuda de vcs, tem sido de grande valia este site para o meu aprendizado.

rjbcordeiro. Meu amigo, me desculpe a ignorância, mas eu não entedi como implementar a codificação dessa forma. Agradeceria se pudesse me dar um exemplo, ou indicar algum forum, ou artigo a respeito.

isaiaspf. Poderia fazer isso sim. O programa faz a chamada do alert correto, vê o campo id se estiver vazio ele adiciona, se estiver preenchido ele atualiza. Mas a logica não é executado corretamente, o programa adiciona quando o “AdicionaClienteLogic” está primeiro e atualiza quando “AtualizaClienteLogic” está em primeiro.

E agradeço a orientação do nosso amigo aluisiodsv.

Valeu galera!!!