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

Checka Radio


Carlos Rocha

Pergunta

Olá pessoal.

Tenho trez radios button com o mesno name e ID.

Estou tentando checar se algum deles está checkado.

Mas, o depurador diz:

"Não é possível obter valor da propriedade 'checked': o objeto é nulo ou não definido"

if (
    document.getElementById('escolha')[0].checked==false &&
    document.getElementById('escolha')[1].checked==false &&
    document.getElementById('escolha')[2].checked==false
    )
   {
       alert("Selecione um tippo de pesquisa!"); document.getElementById('escolha')[0].focus(); return (false);
   }
Eis o campo:
<input type="radio" id="escolha" name="escolha" value="emissao" onclick="abre('emissaoini');abre('emissaofim');fecha('entradaini');fecha('entradafim');fecha('fornecedores');" />Por data Emissão<br />
       <input type="radio" id="escolha" name="escolha"  value="entrada" onclick="fecha('emissaoini');fecha('emissaofim');abre('entradaini');abre('entradafim');fecha('fornecedores');" />Por data Entrada<br />
       <input type="radio" id="escolha" name="escolha"  value="fornecedor" onclick="fecha('emissaoini');fecha('emissaofim');fecha('entradaini');fecha('entradafim');abre('fornecedores');" />Por Fornecedor

Onde estou errando?

Depois, preciso validar se o primeiro esta checado, se o segundo ou o terceiro.

Grato.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

document.getElementById('escolha') ... o ID é único. É pra isso que ele serve.

document.getElementById('escolha')[0].checked==false &&
    document.getElementById('escolha')[1].checked==false &&
    document.getElementById('escolha')[2].checked==false

Quando você faz isso, você está supondo que o getElementById vai retornar um vetor de elementos que tenham o ID igual a "escolha"... e você está supondo errado. Para o html/javascript, não existe mais de um elemento com o ID "escolha".

mas mimimi~* olha meu código lol eu defini os 3 com o mesmo ID!

Sim, você definiu... Mas assim que o html leu o segundo e o terceiro, ele pensou "lol manolo, o ID escolha já está sendo usado, esse input vai ficar sem ID ok?".

Link para o comentário
Compartilhar em outros sites

  • 0

Mas fiote meu mano.

Então, como eu saio dessa?

Tentei assim mas não deu tb.

Não funciona, e nem da erro no depurador:

function valida_form_pesquisas(form)
{
if (
     document.getElementsByTagName('escolha')[0].checked==false &&
     document.getElementsByTagName('escolha')[1].checked==false &&
     document.getElementsByTagName('escolha')[2].checked==false
    )
   {
         alert("Selecione um tipo de pesquisa!"); document.getElementsByTagName('escolha')[0].focus(); return (false);
   }
Outra pergunta: Se eu tenho:
document.pesquisas.escolha.length;
E, se o nome do form pesquisas tiver que ser passado como parametro (nome_form). como eu faria? Tipo:
document.+nome_form+.escolha.length;

Assim não deu.

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

  • 0

Agora entendi:

Um id por campo:

<input type="radio" id="escolhaemissao" name="escolha" value="emissao" onclick="abre('emissaoini');abre('emissaofim');fecha('entradaini');fecha('entradafim');fecha('fornecedores');" />Por data Emissão<br />
<input type="radio" id="escolhaentrada" name="escolha"  value="entrada" onclick="fecha('emissaoini');fecha('emissaofim');abre('entradaini');abre('entradafim');fecha('fornecedores');" />Por data Entrada<br />           
<input type="radio" id="escolhafornecedor" name="escolha"  value="fornecedor" onclick="fecha('emissaoini');fecha('emissaofim');fecha('entradaini');fecha('entradafim');abre('fornecedores');" />Por Fornecedor
Assim sendo, ficou assim:
document.getElementById('escolhaemissao').checked == false &&
     document.getElementById('escolhaentrada').checked == false &&
     document.getElementById('escolhafornecedor').checked == false

Obrigado

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
      652k
×
×
  • Criar Novo...