Limpar formulário

8 respostas
ArianeRebellato

Oi, boa noite…

Tenho um formulário para inserir inf num banco de dados usando hibernate…
Depois de inserir as informações eu gostaria que o formulário ficasse com os campos em branco…se possível automaticamente…Não consegui…
Então tentei colocar um botão para setar as informações…mas não sei cm fazer isso tbm…eheheheh…se alguém puder dar uma olhada e ver aonde eu viajei eu agradeço!

if (request.getMethod().equals("POST") && request.getParameter("name").equals("limpar")) {
        contas.setDescricao("");
        contas.setTipo(("").charAt(0));
        contas.setDt_baixa(null);
        contas.setDt_lancamento(null);
        contas.setValor(0);

        manager.getTransaction().begin();
        manager.persist(contas);
        manager.getTransaction().commit();
    }

o formulário

<form name="formulario" method="POST">
            <table width="264" border="0" align="center" cellpadding="0" cellspacing="5">
                <tr>
                    <td height="49" colspan="2" class="FORMULARIO" ><p align="center">Adicionar Conta</p></td>
                </tr>
                <tr>
                    <td width="104" class="FORMULARIO">Descrição:</td>
                    <td width="144" class="FORMULARIO"><input type="text" name="descricao" value="<%= contas.getDescricao()%>" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Tipo:</td>
                    <td class="FORMULARIO"><select name="tipo">
                            <option value="E">Pagar</option>
                            <option value="R">Receber</option>
                        </select></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Data de Lançamento:</td>
                    <td class="FORMULARIO"><input type="text" name="dt_lancamento" value="<%= contas.getDt_lancamento()%>" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Data de Baixa:</td>
                    <td class="FORMULARIO"><input type="text" name="dt_baixa" value="<%= contas.getDt_baixa()%>" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Valor:</td>
                    <td class="FORMULARIO"><input type="text" name="valor" value="<%= contas.getValor()%>" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">&nbsp;</td>
                    <td class="FORMULARIO"><input type="submit" value="Enviar" name="enviar" /> 
                        <input type="submit" value="Limpar" name="limpar"></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
            </table>
        </form>

Obrigada!!!

8 Respostas

ArianeRebellato

eu até to ligada que é nesta linha if (request.getMethod().equals("POST") && request.getParameter("name").equals("limpar")) {
mas não sei cm fazer…
Como eu posso fazer para que se o nome do botão for igual a limpar , limpa td? :?

luizfelipetx

então joguei um javaScriptizinho pra te ajudar...

não sei se é padrao do projeto que você esta atuando...

Outro detalhe eh que o botao limpar tem que ser type="button" e nao "submit"

pois se for submit ele vai enviar o seu formulario mesmo não sendo o botao disso...

abcs;;;

<script>
 	function limpaCampos(){
	
		document.getElementById("descricao").value="";
		document.getElementById("dt_lancamento").value="";
		document.getElementById("dt_baixa").value="";
		document.getElementById("valor").value="";
	
	
		}
</script>
</head>

<body>
<form name="formulario" method="POST">
            <table width="264" border="0" align="center" cellpadding="0" cellspacing="5">
                <tr>
                    <td height="49" colspan="2" class="FORMULARIO" ><p align="center">Adicionar Conta</p></td>
                </tr>
                <tr>
                    <td width="104" class="FORMULARIO">Descrição:</td>
                    <td width="144" class="FORMULARIO"><input type="text" id="descricao" name="descricao" value="leorleor" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Tipo:</td>
                    <td class="FORMULARIO"><select name="tipo">
                            <option value="E">Pagar</option>
                            <option value="R">Receber</option>
                        </select></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Data de Lançamento:</td>
                    <td class="FORMULARIO"><input type="text" id="dt_lancamento" name="dt_lancamento" value="<%= contas.getDt_lancamento()%>" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Data de Baixa:</td>
                    <td class="FORMULARIO"><input type="text" id="dt_baixa" name="dt_baixa" value="<%= contas.getDt_baixa()%>" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO">Valor:</td>
                    <td class="FORMULARIO"><input type="text" id="valor" name="valor" value="<%= contas.getValor()%>" /></td>
                </tr>
                <tr>
                    <td class="FORMULARIO"> </td>
                    <td class="FORMULARIO"><input type="submit" value="Enviar" name="enviar" /> 
                        <input type="button" value="Limpar" onclick="limpaCampos();" name="limpar"></td>
                </tr>
                <tr>
                    <td> </td>
                    <td> </td>
                </tr>
                <tr>
                    <td> </td>
                    <td> </td>
                </tr>
            </table>
        </form>

</body>

</html>
luxu

soh depois de ter cadastrado dar um new no objeto conta, assim:

contas = new Contas();
luizfelipetx

luxo,

Acho que ela queria limpar o formulario e não o objeto não como mencionado acima não?

abcs

ArianeRebellato

Brigada gente!! Eu sabia que podia ser simples…Usando o contas = new Contas(); a caixa fica com o null, mas resolve o problema sim…Obrigada!

Eu vou tentar com a função agora, ver cm se comporta…

luizfelipetx

Entao fica como null pq seus objetos estão em branco…

e você está puxando os valores do objeto conta por TagLib <c:out …

se você remover do meu javaScript o function limpaCampos(){ e o outro }…

vai funcionar que assim q ele enviar a pagina e setar uma conta nova o formulario

vai escrever num e o javascript vai limpar…

pode chamar essa função no botao enviar também que vai funcionar…

abcs

ArianeRebellato

não deu…eheheh…mas tentei com pressa…vou seguir teu conselho e depois posto o resultado…

Muiito obrigada pela atenção

luizfelipetx

blzzz…

Criado 7 de junho de 2011
Ultima resposta 8 de jun. de 2011
Respostas 8
Participantes 3