Não permitir submeter o form com enter

6 respostas
furutani

Olá :smiley:
Eu não estou conseguindo ver o por que o form está sendo submetido teclando enter em um dos campo.
O html mais ou menos assim:

<form action="AlteracaoDataLicencaCliente.jsp" method="post" name="frm"> <input type="hidden" name="operacao" value="" > . . Outros campos text . <input name="Button" type="button" class="botao" value="Alterar" onClick="validar()">

Não existe nenhum outro botão do tipo submit, reset ou button.
O problema de dar submit com enter é que ele não para na validação.

Tem alguma outra coisa do browser que possa fazer esse tipo de submit?

6 Respostas

L

Utilize o evento onSubmit na tag form

<form action="AlteracaoDataLicencaCliente.jsp" method="post" name="frm" onSubmit="validar()">
 <input type="hidden" name="operacao" value="" >
 .
 . Outros campos text
 .
 <input name="Button" type="button"  class="botao" value="Alterar">

flw

furutani

Eu já tentei fazer isso ele passa pelo código JS, mas o submit é feito do mesmo jeito, mesmo se a função JS retornar false.

L

A sua função validar está retornando false ?

furutani
Sim, para determinadas condições.
function validar(){
var data =  getDataInformada(document.frm.novaData.value);

   if(!verificaData(document.frm.novaData.value)){
   alert('Informe uma data válida.');
   document.frm.novaData.focus();
   return false;
   } else if(20050313 >= data){
   alert('Informe uma data maior que '+ document.frm.dataAt.value);   
   document.frm.novaData.focus();
   return false;
   } else if (window.confirm('Alterar a data de licença para '+document.frm.novaData.value)){
   document.frm.operacao.value = 'alterar';
   document.frm.submit();
   return true;
   }
}
dudaskank

Coloque no evento um return validar(), assim:

<form action="AlteracaoDataLicencaCliente.jsp" method="post" name="frm" onSubmit="return validar()">

Se ele retorna falso mesmo ele para.

Espero que ajude… :slight_smile:

furutani

Resolvido com a dica do dudaskank
Obrigado dudaskank
Obrigado lap_junior

Criado 11 de março de 2005
Ultima resposta 11 de mar. de 2005
Respostas 6
Participantes 3