Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Validar form


alexandremanowar

Pergunta

E ae pessoal beleza

Eu fiz um código de validação mas ele valida apenas campos do tipo text, como eu faço para validar um campo do tipo <select name=''> por exemplo eu tenho 3 campos select e preciso que seja feito a validação da seguinte forma, todos os campos tem como primeira opção vazio da seguinte forma:

<select name='teste1'>
<option value='0'></option>
<option value='aa'>aa</option>
<option value='bb'>bb</option>
</select>

<select name='teste2'>
<option value='0'></option>
<option value='cc'>cc</option>
<option value='dd'>dd</option>
</select>

<select name='teste3'>
<option value='0'></option>
<option value='ee'>ee</option>
<option value='ff'>ff</option>
</select>

Eu preciso que o sistema libere apenas se um dos 3 select esteja com opção selecionda se um estiver selecionado os demais tem que ficar sem seleção e claro também não libera se todos ficarem sem seleção. Como eu posso fazer isso?

Valeu

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Alexandre...isso vai contra o propósito da funcionalidade do elemento select. Se você apenas pode escolher uma opção, oras, porque não coloca os valores todos no mesmo select? :huh:

Link para o comentário
Compartilhar em outros sites

  • 0

E ae beleza!

É o seguinte eu preciso que seja dessa forma porque tenho 3 select porém cada um tem informações diferentes onde se for selecionada a informação de um não pode ser selecionada a informação do outro. Vou ver se consigo explicar melhor é um formulário de cadastro onde um select tem opção com dados de prestadores, outro tem dados de clientes e outro tem dados de fornecedores, funciona da seguinte forma o usuário recebe uma ligação e verifica qem esta ligando assim que for definido ele escolhe em um dos 3 select e completa o cadastro preenchendo um campo de observação, por isso tem que ficar da forma que mensionei acima, pra evitar o cara selecionar mais de um select ou deixar todos em branco.

Será que é possível fazer essa validação? Se for me da uma ajuda porque ainda não consegui nada.

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Ahhh tahh..claro, eu não pensei nessa hipótese. É só percorrer os selects existentes.

Ó:

var validaSelect=function(form){
     var select=form.getElementsByTagName("select")
     var valida=0
         for(var x=0; x<select.length; x++)
             if(select[x].selectedIndex!=0)
             valida+=1
         if( valida > 1 || valida == 0 )
         return false
     return true
 }

Chama a validaSelect(form) passando o objeto form como parâmetro. Ele vai percorrer os selects, cada vez que a função acha um select com opção escolhida ele incrementa uma variável contadora. No final ele verifica se a variável é maior que 1 (mais de uma opção foi selecionada) ou se é igual a 0 (nenhuma opção foi selecionada).

Era isso?

Aquele abraço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...