Jump to content

Recommended Posts

Posted (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 by brunoais
geshi
Posted

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

  • Vote 1

"[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%.

Posted (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 by RicardoCostaTW
Posted

Sabes para que é que serve o método .ready() do jQuery?

  • Vote 1

"[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%.

Posted

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%.

Posted

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%.

Posted (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 by RicardoCostaTW

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.