Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

natalia

Como validar formulário com radiobutton?

Recommended Posts

Oi pessoal, estou tentando validar o meu formulário mas os campos que são radiobutton, eu não consegui. Como passo fazer isso?<script language="JavaScript"><!--function Valida(){ if(document.form.testemunho.value == ""){alert("Campo testemunho não pode ser vazio");document.form.testemunho.focus();return false;}if(document.form.nome.value == ""){alert("Campo nome não pode ser vazio");document.form.nome.focus();return false;}}--></script>Exemplo do meu formulário:<input type="radio" name="caract" value="10"><input type="radio" name="caract" value="20">...<input type="radio" name="caract" value="100"><input type="radio" name="custo" value="10"><input type="radio" name="custo" value="20">...<input type="radio" name="custot" value="100">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Considerando o option custo:

 

 

 

<script language="JavaScript">

function validaOption()

{

totOp=document.form.custo.length; //total de itens do Option custo

var i=0, totsel=0;

//verifica se algum item foi selecionado

for (i=0;i<totOp;i++)

{

  if (document.form.valor.checked==false)

   totsel+=1;

}

 

//se o total de itens não selecionados for igual ao total de itens existentes no Option

if (totsel==totOp)

{

  alert("Selecione um valor");

  return false;

}

}

</script>

tendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente não funcionou, qdo envio o form vai direto para página que inseri os dados no BD, sem validar os campos. Mas mesmo assim, muito obrigada pela sua ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qdo envio o form vai direto para página que inseri os dados no BD, sem validar os campos

? ;) deu algum erro d script? pod por o trecho q você usou p/ chamar esta função? (ou incluiu no seu script d validação existente?)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu fiz assim, copiei o seu script e colei dentro do meu. Vou deixar só um trecho (o começo e o fim) dele aqui.

Será que eu preciso mudar alguma coisa?

 

<script language="JavaScript">

<!--

function Valida()

{

 

if(document.form.testemunho.value == "")

{

alert("Campo testemunho não pode ser vazio");

document.form.testemunho.focus();

return false;

}

 

totOp=document.form.caract.length; //total de itens do Option custo

var i=0, totsel=0;

//verifica se algum item foi selecionado

for (i=0;i<totOp;i++)

{

if (document.form.valor.checked==false)

totsel+=1;

}

 

//se o total de itens não selecionados for igual ao total de itens existentes no Option

if (totsel==totOp)

{

alert("Selecione um valor");

return false;

}

}

-->

</script>

 

<form name="form" method="post" action="inseri_nota.asp" onSubmit="return Valida();">

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá!

bem, o exemplo q passei valida um option especifico (custo no caso).

como não deu nenhum erro de script, deixou de validar o outro option.

Exibiu pelo menos 1 vez a mensagem "Selecione um valor"?

 

Refiz ele p/ v c tem algum erro e não encontrei nenhum, tente o seguinte:

na sua função valida, adicione algo assim

var bOption=false;

//validar os options custo

bOption=validaOption(document.form1.custo);

if (bOption==false) return false; //c for falso, sai da validação

 

//validar os options caract

bOption=validaOption(document.form1.caract);

if (bOption==false) return false; //c for falso, sai da validação

 

               //retornar valor true para o formulario

return true;

depois ponha esta função na tag <script> existente:

function validaOption(obj)

{

totOp=obj.length;

 

var i=0, totsel=0;

 

for (i=0;i<totOp;i++)

{

  if (obj.checked==false)

   totsel+=1;

}

 

if (totsel==totOp)

{

  alert("Selecione uma opção");

  return false;

}

else

  return true;

}

ficaria assim:

 

<script language="JavaScript">

<!--

function Valida()

{

 

if(document.form.testemunho.value == "")

{

alert("Campo testemunho não pode ser vazio");

document.form.testemunho.focus();

return false;

}

 

if(document.form.nome.value == "")

{

alert("Campo nome não pode ser vazio");

document.form.nome.focus();

return false;

}

var bOption=false;

//validar os options custo

bOption=validaOption(document.form1.custo);

if (bOption==false) return false; //c for falso, sai da validação

 

//validar os options caract

bOption=validaOption(document.form1.caract);

if (bOption==false) return false; //c for falso, sai da validação

 

              //retornar valor true para o formulario

return true;

}

 

function validaOption(obj){

totOp=obj.length;

 

var i=0, totsel=0;

 

for (i=0;i<totOp;i++)

{

  if (obj.checked==false)

  totsel+=1;

}

 

if (totsel==totOp)

{

  alert("Selecione uma opção");

  return false;

}

else

  return true;

}

 

-->

</script>

verifique c os nomes dos objetos (form, option) nesse script estão d acordo com a sua página, tipo no nome do formulario usei form1, você pod estar usando um outro nome.

 

beleza?

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.