RicardoCostaTW Posted April 28, 2013 at 10:41 AM Report #505046 Posted April 28, 2013 at 10:41 AM (edited) Bom dia Pessoal, Estava a fazer a validação deste formulário, quando os campos estão em branco ele adiciona o css, mas não evita o submit. Dei umas pesquisas na net e encontrei isto: jQuery(document).ready(function(event) { jQuery('form[name=form_contatos]').submit(function(event) { event.preventDefault(); //add stuff here }); }); realmente ele evita o submit mas depois não deixa mais submeter, como posso fazer isto? Abraço Edited April 28, 2013 at 11:22 AM by brunoais geshi
brunoais Posted April 28, 2013 at 11:27 AM Report #505051 Posted April 28, 2013 at 11:27 AM Sabes validar campos de um formulário? Só podes executar o preventDefault() na situação em que queres que o formulário não seja submetido, e não sempre. Tu estás a executá-lo sempre que o utilizador está a tentar submeter o formulário 1 Report "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
RicardoCostaTW Posted April 28, 2013 at 02:03 PM Author Report #505061 Posted April 28, 2013 at 02:03 PM (edited) eu criei uma variável count e inicializei a 0. E por cada campo vazio após o clique no botão de submeter, ele incrementa +1. Se count>0 ele executa o prevent. e depois igual o count a 0 de novo. <script> jQuery('#enviar').click(function() { var departamento = jQuery('#departamento option:selected').val(); var nome = jQuery('#nome').val(); var localidade = jQuery('#localidade').val(); var email = jQuery('#email').val(); var telefone = jQuery('#telefone').val(); var contactado = jQuery("input[name='contactado']:checked").val(); var count = 0; if (departamento == '0') { jQuery('#departamento').css('border-width', '1'); jQuery('#departamento').css('border', '1px solid red'); count++; } if (nome == "") { jQuery('#nome').css('border-width', '1'); jQuery('#nome').css('border', '1px solid red'); count++; } if (localidade == "") { jQuery('#localidade').css('border-width', '1'); jQuery('#localidade').css('border', '1px solid red'); count++; } if (email == "") { jQuery('#email').css('border-width', '1'); jQuery('#email').css('border', '1px solid red'); count++; } if (telefone == "") { jQuery('#telefone').css('border-width', '1'); jQuery('#telefone').css('border', '1px solid red'); count++; } if (count > 0) { jQuery(document).ready(function(event) { jQuery('form[name=form_contatos]').submit(function(event) { event.preventDefault(); //add stuff here }); }); count = 0; } else { jQuery('#enviar').click(function() { jQuery('#form_contatos').submit(); }); } }); </script> Edited April 28, 2013 at 02:03 PM by RicardoCostaTW
brunoais Posted April 29, 2013 at 08:57 AM Report #505142 Posted April 29, 2013 at 08:57 AM Sabes para que é que serve o método .ready() do jQuery? 1 Report "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
RicardoCostaTW Posted April 29, 2013 at 09:03 AM Author Report #505144 Posted April 29, 2013 at 09:03 AM (edited) para correr a função quando o documento estiver pronto? podes dar-me uma dica para uma solução?Abc Edited April 29, 2013 at 09:50 AM by RicardoCostaTW
yoda Posted April 30, 2013 at 08:26 PM Report #505370 Posted April 30, 2013 at 08:26 PM Vai à documentação do jQuery e vê logo no início como se usa, já te deram uma dica. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
brunoais Posted May 1, 2013 at 09:24 AM Report #505441 Posted May 1, 2013 at 09:24 AM podes dar-me uma dica para uma solução? Sim. Não procures por algo no DOM antes de essa coisa existir. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
RicardoCostaTW Posted May 1, 2013 at 12:53 PM Author Report #505456 Posted May 1, 2013 at 12:53 PM Obrigado a todos 😉
brunoais Posted May 1, 2013 at 07:16 PM Report #505499 Posted May 1, 2013 at 07:16 PM Obrigado a todos 😉 Problema resolvido? Se sim, mostra o resultado para outros verem. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
RicardoCostaTW Posted May 3, 2013 at 08:08 PM Author Report #505762 Posted May 3, 2013 at 08:08 PM (edited) Não andei por cá estes dias. Resolvi assim: jQuery('form[name=form_contatos]').submit(function(event) { if(count>0){ event.preventDefault(); count = 0; }else{ } }); Edited May 3, 2013 at 08:09 PM by RicardoCostaTW
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now