Suprimir evento de envio / botão Enviar ativado somente se o javascript estiver desativado
Eu tenho alguma validação JavaScript do lado do cliente em um formulário. Isso funciona muito bem. Mas quero acomodar usuários com o JavaScript desativado. Minha validação não é executada a partir do atributo onsubmit do formulário, é um manipulador de eventos vinculado a um botão normal no formulário. Portanto, o botão que inicia a validação e o envio não é realmente um envio, é apenas type = "button":
<input type="button" value="Ok" class="okbtn">
Em seguida, registro um manipulador de eventos no evento click que faz minha validação. Ele envia se tudo passa:
function clickHandler(event){
thisForm = event.data.caller
var valid = submitValidation(thisForm);
if (valid == true){
thisForm.submit();
} else{
}
}
Meu problema é que, se o usuário tiver o JS desativado, não há como enviar o formulário. Eu poderia fazer o botãotype="submit"
, que funcionaria para os usuários desabilitados para JS, mas * sempre enviará o formulário e ignorará a validação para os usuários habilitados para JS. (A validação será executada, mas será enviada de qualquer maneira). Se eu fizer o botãotype="submit"
posso bloquear o evento de envio se ele clicar? Estou usando o JQuery. O JQuery pode suprimir o envio? Quero que minha validação lide com a questão de ser enviada.