Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ndias

Validação em JQuery

Recommended Posts

To tentando fazer uma validação com JQuery para no submit se um campo ficar vazio, mostrar com borda vermelha...e quero que fique verde no preenchimento...

 

Essa parte eu já consegui fazer, mas agora eu preciso fazer o mesmo efeito em um campo select e tenho que desconsiderar um dos campos que não é obrigatório.

 

Segue meu código:

 

$(document).ready(function(){

$("input").blur(function(){

if($(this).val() != "")

{

$(this).css({"border" : "1px solid #090", "padding": "2px"});

}

});

$("#botao").click(function(){

var cont = 0;

$("#form input").each(function(){

if($(this).val() == "")//neste if eu quero que não considere um campo

{

$(this).css({"border" : "1px solid #900", "padding": "2px"});

cont++;

}

});

if(cont == 0)

{

$("#form").submit();

}else{

alert('Confira o formulário, existe campo em branco!');

return false;

}

});

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

ndias,

No select, a sua primeira propriedade deve ser a "Escolha uma opção". Você pode definir um valor pra ela, exemplo: 0.

Joga isso dentro de uma condição que: Se o valor do option for 0, o select (pai) recebe X estilo.

Simples, não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

blz Henrique...eu entendi!

 

mas como vou colocar isso dentro desse código?

 

$("#form input").each(function(){
if($(this).val() == "")
{
$(this).css({"border" : "1px solid #900", "padding": "2px"});
cont++;
}
});
essa referência $("#form input") é só para os campos input...se o valor da input for vazio ele recebe o estilo
como eu faço para os campos selects cujo a option for igual a vazio ou zero?
obrigado por responder!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, pra isso você pode utilizar o :selected como referência.

Exemplo:

if ($('#id_do_select option').is(':selected') {
   $('#id_do_select').css(x, y);
} 

Você deve colocar essa função fora da atual, já que no form você está referenciando os inputs, a não ser que você faça: "$('#form input, #form select')"

Se não conseguir, me diga que eu tento criar o código usando o seu como base e te envio pelo JSFiddle.

EDITADO:

Você precisa que esse novo código esteja dentro da função atual ou você pode fazer algo fora disso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.