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

Ajuda Com Checkbox


fertel

Pergunta

Galera, tenho um formulário com um grupo de checkboxs, cada checkbox com um nome diferente. Tipo: PAGAMENTO1 , PAGAMENTO2 , PAGAMENTO3

Como obrigar o usuário a selecionar pelo menos um. Ou seja pode selecionar até os 3, mas dos 3 pelo menos um tem que estar marcado. Será que tem solução para este enigma?

Pode ser ao enviar o form mesmo. tipo validação ou outra forma.

Obrigado

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

você tem algum conhecimento de js?

Vou te explicar uma das (tantas) formas de fazer isso.

Você precisa pegar os três checkbox para verificar se algum deles está checado.

Se você tiver somente esses três checkbox na tela você pode usar

var obj = document.getElements.byTagName("input");

vou fazer um código de exemplo pra ti.... estuda ele...

<head>

<script language="javascript">

    function verifica() {

        var obj = document.getElementsByTagName("input");

  var cont = 0;

        for (var i=0; i < obj.length; i++) {

        if (obj.type == "checkbox")

              if(obj.checked == true) cont++;

        }

        if (cont == 0) alert("você deve marcar ao menos 1 checkbox");

    }

</script>

</head>

<body>

<form name="form">

<input type="checkbox" name="check" id="check" value="1">

<input type="checkbox" name="check" id="check" value="2">

<input type="checkbox" name="check" id="check" value="3">

<input type="button" name="botao" value="ver id dos checados" onclick="javascript:verifica()">

</form>

</body>

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

sad.gif Aí é que está... O ID e Nome deles são diferentes. Eles não tem o mesmo nome. É que depois de submetido, seus valores serão concatenados, por isso eles tem que ser desta forma. Como posso validá-los tendo nomes diferentes?

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, leia o que escrevi antes de testar o código...

Se você tiver somente esses três checkbox na tela você pode usar o código

Não importa o nome q você colocar, você pode trocar os nomes ids, não importa, a única coisa é q ele vai verificar TODOS os checkbox q existem na tela e se nenhum tiver marcado ele vai dar o alert.

Tenta fazer...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, será que poderíamos deixar o mesmo ID apesar dos nomes diferentes?

Porque tenho um grupo assim:

PAGAMENTO1

PAGAMENTO2

PAGAMENTO3

E outro grupo assim:

RECEBIMENTO1

RECEBIMENTO2

RECEBIMENTO3

Esses são os nomes dos objetos, os IDs poderia ser o mesmo para cada grupo, ex.: PAGAMENTO E RECEBIMENTO

Isso já ajuda né? Dá pra fazer o script com os IDs?

Cara brigadão mesmo pelo seu esforço e interesse smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Cara então faz o seguinte, modifica 3 linhas da function q te passei q tah resolvido o problema.

Primeira:

function verifica(id) {

Segunda:

if(obj.checked == true && obj.id == id) cont++;

Terceira na hora da chamada da função tu passa qual quer validar.

verifica('pagamento')

Tenta arrumar e se não conseguir posta ae...

PS.: cara não vai se acostumando pois não gosto de entregar códigos prontos, o nosso intuito é de q as pessoas venham até o forum para aprender e tirar dúvidas e não pegar as coisas prontas. Dá uma estudada nesse código e tenta fazer as modificações q você precisa...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, Obrigado ajudou mesmo.

É que sou programador em ASP, não saco muito desses caracterizinhos do Javascript. Quebro o galho, mas coisas complexas como essa que você fez eu nem me atreveria sozinho, mas vendo esses código, já estou aprendendo mais, pois estou entendendo a lógica só de olhar. Obrigado mesmo. smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Galera, tenho um formulário com um grupo de checkboxs, cada checkbox com um nome diferente. Tipo: PAGAMENTO1 , PAGAMENTO2 , PAGAMENTO3

Como obrigar o usuário a selecionar pelo menos um. Ou seja pode selecionar até os 3, mas dos 3 pelo menos um tem que estar marcado. Será que tem solução para este enigma?

Pode ser ao enviar o form mesmo. tipo validação ou outra forma.

Obrigado

Brother...

veja o codigo do amigo Crystian esta perfeito para as suas nescessidades.

PRESTE ATENÇÂO.

Voce quer para checkbox com NOMES DIFERENTES. este script supri as duas nescessidades.. smile.gif ... o amigo Crystian te deu as duas em uma. biggrin.gif

Olhe o codigo com atencao. Estude um pouco o codigo. Veja com calma e entenda o que ele esta fazendo.

A resposta esta ai, para CHECKBOX com nomes IGUAIS e DIFERENTES tambem.

Abraços.

Mas se voce ainda tiver duvidas. Entre em contato.... dai te dou a resposta da pegadinha... biggrin.gif

walew ... diba

viva o opensource

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...