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

seleciona no maximo 3 check box


lucas05

Pergunta

pessoal como faço pra uma pessoa pode seleciona no maximo 3 checkbox

<form method="POST" action="--WEBBOT-SELF--">

<p><input type="checkbox" name="C1" value="1"><br>

<input type="checkbox" name="C2" value="2"><br>

<input type="checkbox" name="C3" value="3"><br>

<input type="checkbox" name="C4" value="4"><br>

<input type="checkbox" name="C5" value="5"><br>

<input type="checkbox" name="C6" value="6"><br>

<input type="checkbox" name="C7" value="7"><br>

<input type="checkbox" name="C8" value="8"><br>

&nbsp;</p>

</form>

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

você cria uma variavel global (que não está dentro de nenhuma função) com valor 0. Ao clicar em algum checkbox voce verifica se ele foi marcado. Se foi então primeiro verifica se a variavel global tem valor maior q 3. Se tiver é porque estourou o limite então manda alguma mensagem, se não for maior que 3 então adiciona 1 à variavel global.

Se o check não foi marcado então diminui 1 da var global

Link para o comentário
Compartilhar em outros sites

  • 0

Não acho uma boa usar variáveis locais. Aliás, o recomendado é quando possível nunca usar.

O interessante é você atrelar ao evento submit uma função que verifique a quantidade de checkboxes selecionados e valide antes de submeter o formulário. Dessa forma você só faz a chamada da função uma vez.

Chamar a função toda hora que clicar em um checkbox é uso desnecessário de processamento e memória nesse caso.

Fercosmig acabou de postar uma solução igual: http://scriptbrasil.com.br/forum/index.php?showtopic=126686

No caso dele, use "var" antes das variáveis: escolha e cont, para usá-las localmente.

Link para o comentário
Compartilhar em outros sites

  • 0
Aliás, o recomendado é quando possível nunca usar.

kakarotto, qual o problema das variaveis globais?? porque não é bom usar??

não liga não, mas de uns tempos pra ca to querendo achar explicacao pra tudo q recomendam fazer... não gosto de fazer so porque falaram, quero sabe qual o motivo...

falou.

Link para o comentário
Compartilhar em outros sites

  • 0

Beleza Kuroi.

Assunto meio complexo pra um post tão simples né? rsrs Assumo minha parcela de culpa.

As variáveis globais tem um propósito, de ser compartilhada para todo o escopo do código. Quando não se é utilizado para o propósito em específico já está sendo mal utilizado. Variáveis globais tem natureza que destrói o encapsulamento. Apesar de javascript não ser uma linguagem orientada a objetos o encapsulamento tem sua utilidade, todas os frameworks Js usam dessa técnica.

Uma variável global não é removida pelo Garbage Collector, a não ser que especifique, fica na memória guardando dados desnecessáriamente, para fazer uma simples tarefa corriqueira.

Você perde controle sob seu algoritmo, sua variavel global cria dependência em todos os locais de código, complica a visibilidade do código...etc etc etc..

Casos simples como a do membro não faz a menor diferença, porém não é uma boa prática deve-se sempre se desencorajar essa técnica quando não se faz necessária afim de botar na cabeça desde cedo esse princípio.

Em um código maior, os efeitos podem ser bem grandes, seja em javascript ou em qualquer outra linguagem de programação orientada ou não a objetos.

A variável global tem sua importância e tem seu uso, deve ser usada apenas quando necessária.

Texto melhor elaborado:

"O uso de variáveis globais é geralmente considerado inadequado pois seu conteúdo pode ser potencialmente modificado de qualquer local, e qualquer parte de um código pode depender dela. A técnica possui o potencial de criar dependências mútuas, o que aumenta a complexidade e dificuldade de leitura de um código."

Wikipédia

Link para o comentário
Compartilhar em outros sites

  • 0

hum valeu pela explicacao...

pelo seu post, tinha achado q tivesse mais problemas não em relacao a forma de utilizar, mas em alguma coisa tipo uso de memoria, ou q tipo o javascript tivesse alguma caracteristica especifica alem das otras linguagens q trasnformasse as variavels globais em alguma coisa muito perigosa, etc...

quanto a essa parte...

Uma variável global não é removida pelo Garbage Collector, a não ser que especifique, fica na memória guardando dados desnecessáriamente, para fazer uma simples tarefa corriqueira.

nem sabia q javascript tinha garbage collector. o navegador não ficaria com a variavel carregada somente enqto a url atual estiver aberta?? e ai a variavl não seria perdida só depois q ele fechasse ou mudasse de pagina??

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0
nem sabia q javascript tinha garbage collector. o navegador não ficaria com a variavel carregada somente enqto a url atual estiver aberta?? e ai a variavl não seria perdida só depois q ele fechasse ou mudasse de pagina??

Tem sim, inclusive o iE e o FF tem alguns casos de memory leaks pelo fato do gc não funcionar como deveria em certos casos. Geralmente quando se usa closures. Não neste caso.

Sim, a variável é deletada assim que a url é alterada e/ou quando se fecha a página. Mas não se pode assumir que isso vá acontecer sempre. Neste caso em específico sim, nem toda aplicação javascript tem por definição ser executada atualizando url's, e fechar ou não a janela do navegador é um ato externo ao programa/aplicação, não é papel do programador adivinhar a intenção do usuário.

Se vai funcionar perfeitamente para este caso é outra história. Não é semânticamente correto, não é uma boa prática, funcionando ou não.

Edit: Eu falei locais lá em cima, quis dizer globais rsrs.

Link para o comentário
Compartilhar em outros sites

  • 0

interessante

Sim, a variável é deletada assim que a url é alterada e/ou quando se fecha a página. Mas não se pode assumir que isso vá acontecer sempre. Neste caso em específico sim, nem toda aplicação javascript tem por definição ser executada atualizando url's, e fechar ou não a janela do navegador é um ato externo ao programa/aplicação, não é papel do programador adivinhar a intenção do usuário.

tava pensando aqui agora... tipo, se eu abro uma pagina e ele executa qualquer codigo javascript, ele guarda o estado das variaveis. e ai se eu clico em um link pra mesma janela (ou aba), ele abre a nova pagina, mas o estado das variaveis ele continua guardando, não?? pro caso de eu clicar em voltar. ele vai guardar... ainda mais o firefox q tem a opcao pra você reabrir as abas q você fechou... imagino q então ele só destrua as variaveis quando o navegador for fechado, sera q não?? então isso deve afetar muito a memoria.

alias, o firefox grava o estado da navegacao tb no hd (por conta daquele recurso de restaurar a navegacao caso o computador desligue). talvez ele tb use o hd pra auxiliar tb durante a navegacao.

Link para o comentário
Compartilhar em outros sites

  • 0

Afff kuroi, agora você já tá indo a níveis extraterrenos.

Como o FF usa pra manter a sessão anterior, a maneira como ele utiliza as variáveis do interpretador... Isso já sai completamente do meu escopo.

Nunca abri o dev da mozilla pra ver como funciona o Firefox, nem é esse meu interesse.

Você vai ter que perguntar pra quem curte e estuda desenvolvimento de navegadores.

Eu sou um rélis pseudo-programador, não sei nada disso rsrsrs.

Por isso que saber as boas práticas, entender os paradigmas e as técnicas de programação são interessantes, você deixa essa outra abstração para quem entende do assunto. ;)

Link para o comentário
Compartilhar em outros sites

  • 0

hehe beleza... tb não tenho interesse em sabe como funciona exatamente o ff, mas gosto de saber como são feitas as coisas em geral... e na verdade imagino q seja alguma coisa parecido com isso q eu postei... mas ai tava vendo se alguém pudesse contestar e falar q fosse de otro modo.

mas beleza, valeu pela explicacao...

e tb sem querer estragar sua alegria, todo mundo sabe q é você q ta logado como anomimo heheheh

falou.

Link para o comentário
Compartilhar em outros sites

  • 0

huahauahuah eu sei disso, percebi há mó cara que só eu utilizava essa funcionalidade rsrsrsrs.

Sempre fico anonimo quando eu to logado mas meio ausente... uso como se fosse status do MSN :blush:

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