Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 21:38

Pessoal como faço para saber se pelo menos um radiobutton foi marcado?

Os radios vem do banco de dados, entao pode ser que tenha apenas um como tambem varios.

Tentei assim:

for ( var i = 0; i < document.getElementsByName( "plano" ).length; i++ ) {   if ( document.getElementsByName( "plano" )[i].checked ) {     plano="marcado";     } else {         plano="vazio";     } }

Ai usando assim:

if(plano=="vazio")...

Mas ele da erro, tipo quando s tem 2 ou mais radios se eu selecionar o primeiro ele diz que ta vazio como se nao tivesse selecionado mas se eu selecionar o segundo ai fica perfeito... como resolvo issoooo?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 21:48

Os inputs radio tem o mesmo name?
0
A melhor hospedagem para o seu site HostGator!
 

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 21:51

sim, o nome e o id de todos é produto e o valor nao é padrao, ou sea, poder ser numeros, letras etc...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 22:15

Segue um exemplo

<script language="JavaScript"> function verifica() {   var quantos = document.form.radio1.length; var valor = 0;   for(var i=0; i < quantos; i++) {   if(document.form.elements[i].checked) { valor++; }   }   if(valor==0) { alert("Preencha algum input") return false; } else { document.form.submit(); }   } </script>


<form name="form" action="" method="POST"> 1 <input type="radio" name="radio1" value="1"> 2 <input type="radio" name="radio1" value="2"> <input type="button" value="envia" onClick="verifica()"> </form>

0
A melhor hospedagem para o seu site HostGator!
 

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 22:32

Funcionou assim:

var total_produto = document.cadastro.produto.length; var produto = 0; for(var i=0; i < total_produto; i++) { if(document.cadastro.plano[i].checked) { produto++; } }

vlw :)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 22:35

Boa :)
0
A melhor hospedagem para o seu site HostGator!
 

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 23:01

Fiz um teste aki e percebi que se tive somente um radio ele da erro, fica informando que nao foi selecionado nenhum...
0
 

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 23:09

Coloquei um alert pra pegar o:
var total_produto = document.assinatura.produto.length;

e quando só tem um radio ele da como undefined e quando tem mais de um ele mostra o total de radios.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validar grupo de radio button pra saber se algum foi marcado

09-05-2007 23:26

A mesma função do

var quantos = document.form.radio1.length;

do exemplo, mas, o javascript faz isso, quando tem somente 1 item ele dá undefined, não seria possível ai no seu sistema retornar pelo menos 2 radio, ou no caso se for retornar 1, deixa o rádio já checado?

Faz assim, quando sua consulta retornar somente um input radio, tu adiciona um input hidden, como o mostrado abaixo.
<input type="hidden" name="radio1" value="">

Isso vai dar um efeito como se tivesse 2 inputs com o name radio1, deixando a verificação Ok.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]