Ir para conteúdo

POWERED BY:

Arquivado

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

crf_h0m3r

[Resolvido] Alert ao deixar um RadioButton em branco

Recommended Posts

Bom galera, é o seguinte, estou em dúvida em como eu vou fazer a função alertar quando o usuário esquecer, um botão do tipo 'radio', durante um formulário.

Eis o código:

<form action="" method="get" name="form1" id="form1">
(...)
      <td width="887" height="40" bgcolor="#999999">1. Avalie o <b>PROFESSOR</b> utilizando <u>as letras</u> da legenda. </td>
      <td width="96" align="center" bgcolor="#999999">PROFESSOR 1</td>
      <td width="105" align="center" bgcolor="#999999">PROFESSOR 2</td>
      <td width="97" align="center" bgcolor="#999999">PROFESSOR 3</td>
      <td width="83" align="center" bgcolor="#999999">PROFESSOR 4</td>
    </tr>
   <tr>
<td>1.1. O professor desenvolve o plano de disciplina, demonstrando preparação para as aulas?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio1" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio1" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio1" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio1" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio2" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio2" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio2" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio2" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio3" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio3" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio3" value="c">

Sei que o código é grande e de antemão já peço desculpa pelas repetições, mas só assim, conseguirão entender meu problema.

 

A função eu fiz assim para verificar se um deles não foi marcado foi:

<script language="javascript" type="text/javascript">
function Valida() {
if(form1.nome_do_botao[0].checked) {
}
else {
  if(form1.nome_do_botao[1].checked) {
  }
  else {
  alert('Uma ou mais opções estão desmarcadas. Por favor, selecione-as!');
  }
}
}
</script>

Eu gostaria de saber qual nome do botão eu devo colocar na função se o nome muda conforme cada coluna: Radio1, Radio2, Radio3... até o Radio40.

Tentei renomear todos os botões para um único nome, porém, todo o formulário vira uma opção só, não podendo marcar mais de uma opção na mesma linha e/ou coluna.

 

Desde já,

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está indo mais ou menos no caminho certo, tente fazer o seguinte:

<script type="text/javascript">
function Valida()
{
    if(!form1.nome_do_botao[0].checked && !form1.nome_do_botao[1].checked && !!form1.nome_do_botao[2].checked)
    {
        alert('Uma ou mais opções estão desmarcadas. Por favor, selecione-as!');
        return false;
    }
}
</script>
Você tem que verificar se pelo menos um campo foi selecionado... Naão testei, ok? Mas a idéia é essa, basta adaptá-la às suas necessidades...

 

Ah! E não se esqueça de chamar a função com o onsubmit no formulário:

<form action="" method="get" name="form1" id="form1" onsubmit="return Valida();">

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Paulo de Tarso F. M.

São 40 nomes de botões (Radio1, Radio2 ... Radio40), eu terei que colocar os 40 no 'if'? Se eu tentar o 'for', como eu poderia fazer?

 

@augustoclaro

Tem que ser 'radio' por que é uma avaliação que só pode escolher uma opção (Ótimo, bom, ruim, péssimo)

 

Desde já,

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, mesma coisa, com o for você não precisa colocar o nome de todos.

 

você pega uma array com todos os elementos e faz um for, e coloca uma variável que ocmeça o valor como true, caso algum dos elementos do for esteja vazio, muda essa var pra false e sai do for.

 

Se no final do for a var for true, envia o form, senão, se for false, não envia o form e exibe uma mensagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

por exemplo:

 

<script>
elementos = document.getElementsByTagName("input");
enviar = true;
for (i=0;i<elementos.length;i++){
if (elementos[i].type == "radio" && elementos[i].value == ""){
enviar = false;
exit;
}
}

if (enviar) {
return true;
}else{
alert("Preencha todos os campos");
return false;
}
</script>

Alggo como isto. Se você ainda não entendeu, posta a página intera que eu te do uma mãozinha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou, ao invés de utilizar o getElementByTagName( ), que irá retornar todos os inputs do formulário, pode utilizar também um getElementByClass( ), que não existe por padrão na linguagem JavaScript:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif getElementByClass

 

 

Tem esse outro também, basta adaptar para a sua necessidade:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif How to getElementByClass in Javascript

 

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Paulo de Tarso F. M.

Po, vou estudar um pouco mais esses comandos. Só usei-os uma vez, e mesmo assim, meu professor não deu a devida atenção à eles. Obrigado pelos links!

 

@augustoclaro

Cara, postei o código no site Pastebin, por que achei que aqui ficaria muito grande, talvez uma poluição visual; eis o link: http://pastebin.com/kvMzRTiU

Caso queira que eu poste aqui, é só falar ;)

 

Desde já,

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@augustoclaro

Hum, gostei da ideia, interessante. Porém, como dissestes, vou colocar alguns já selecionados e outros não (creio que todos selecionados, o usuário poderia achar que já estava pronta a avaliação). Mas mesmo assim, o mesmo pode esquecer de marcar um ou outro, por isso a minha atenção à função de verificação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesse caso, tá aqui o código funcionando:

 

<html>

<head>

<title>CPA - COMISSÃO PRÓPRIA DE AVALIAÇÃO .:: FACIMA - FACULDADE DA CIDADE DE MACEIÓ ::.</title>

<style type="text/css">
#form1 table tr td div {
	text-align: right;
}
#form1 table tr td p {
	text-align: justify;
}
#form1 table tr td {
	font-family: Tahoma, Geneva, sans-serif;
	font-size: 13px;
}
</style>
<script language="javascript" type="text/javascript">

function verificaCampo(nome){
selecionado = false;
campo = document.getElementsByName(nome);
for (b=0;b<campo.length;b++){
	if (campo[b].checked){
	selecionado = true;
	break;
	}
}
return selecionado;
}
function Valida(f){
	var nomes = "";
	for (e=1;e<=40;e++){
	if (nomes !=""){
		nomes+=",";
	}
	nomes+="Radio"+e;
	}
	
	inputs = nomes.split(",");
	
	
	for (i=0;i<inputs.length;i++){
	if (!verificaCampo(inputs[i])){
		alert("Preencha todos os campos.");
		return false;
		break;
	}
	}
	return true;
}
</script>
</head>

<body>
<form action="http://google.com" method="get" name="form1" id="form1" onSubmit="return Valida(this);">
  <table width="1340" border="0" cellpadding="10" cellspacing="0">
    <tr>
      <td width="764"><p>Prezado(a) Aluno(a)
        </p>
        <p>		A CPA tem por objetivo com esta pesquisa, identificar a sua percepção em relação à execução de nossas práticas, para que haja uma reflexão em relação à execução das atividades desempenhadas na Instituição para nortear futuras ações. </p>
        <p>		Para tanto, alguns aspectos serão avaliados: docentes, disciplina, desempenho da turma e Instituição 
          Para o êxito desta pesquisa, por gentileza preencha este instrumento com toda sinceridade para nos ajudar na melhoria contínua desta Instituição. Não precisa se identificar.
        </p>
        <p>Atenciosamente,        </p>
        <div>À Comissão </div></td>
      <td width="480"><p><b>LEGENDA PARA AUXILIÁ-LOS NA ESCOLHA DAS ALTERNATIVAS</b>
        
        
        </p>
        <p><b>A</b> - Ótimo - Quando a avaliação para o item for plenamente satisfatória        </p>
        <p><b>B</b> - Bom - Quando a avaliação para o item for atendida em partes        </p>
        <p><b>C</b> - Regular - Quando a avaliação para o item deixar a desejar        </p>
        <p><b>D</b> - Ruim - Quando a avaliação para o item não atender
       </p></td>
   </tr>
 </table>

  <table width="1340" border="1" cellpadding="0" cellspacing="1">
    <tr>
      <td width="674" height="40" bgcolor="#999999">1. Avalie o <b>PROFESSOR</b> utilizando <u>as letras</u> da legenda acima. </td>
      <td width="154" align="center" bgcolor="#999999">prof1</td>
      <td width="158" align="center" bgcolor="#999999">prof2</td>
      <td width="158" align="center" bgcolor="#999999">prof3</td>
      <td width="162" align="center" bgcolor="#999999">prof4</td>
    </tr>
   <tr>
<td>1.1. O professor desenvolve o plano de disciplina, demonstrando preparação para as aulas?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio1" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio1" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio1" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio1" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio2" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio2" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio2" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio2" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio3" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio3" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio3" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio3" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio4" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio4" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio4" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio4" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.2. O professor tem facilidade de comunicação, demonstrando motivação no desempenho da disciplina?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio5" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio5" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio5" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio5" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio6" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio6" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio6" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio6" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio7" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio7" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio7" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio7" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio8" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio8" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio8" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio8" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.3. O professor inicia leituras e reflexões que levam à produção do conhecimento?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio9" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio9" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio9" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio9" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio10" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio10" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio10" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio10" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio11" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio11" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio11" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio11" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio12" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio12" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio12" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio12" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.4. O professor disponibiliza material impresso e/ou diferentes fontes para enriquecer a disciplina?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio13" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio13" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio13" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio13" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio14" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio14" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio14" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio14" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio15" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio15" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio15" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio15" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio16" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio16" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio16" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio16" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.5. O professor relaciona o conteúdo com a vivência profissional e/ou com outras áreas do conhecimento para uma melhor formação?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio17" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio17" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio17" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio17" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio18" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio18" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio18" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio18" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio19" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio19" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio19" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio19" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio20" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio20" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio20" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio20" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.6. O professor responde de forma adequada e satisfatória as perguntas pertinentes ao conteúdo da disciplina?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio21" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio21" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio21" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio21" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio22" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio22" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio22" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio22" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio23" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio23" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio23" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio23" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio24" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio24" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio24" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio24" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.7. O professor apresenta assiduidade satisfatória?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio25" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio25" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio25" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio25" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio26" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio26" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio26" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio26" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio27" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio27" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio27" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio27" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio28" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio28" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio28" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio28" value="d">
   D</label></p></td>
    </tr>
   <tr>
    <tr>
      <td>1.8. O professor utiliza recursos/estratégias diferenciadas?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio29" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio29" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio29" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio29" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio30" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio30" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio30" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio30" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio31" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio31" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio31" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio31" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio32" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio32" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio32" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio32" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.9. O professor orienta de forma eficaz os trabalhos solicitados?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio33" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio33" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio33" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio33" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio34" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio34" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio34" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio34" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio35" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio35" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio35" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio35" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio36" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio36" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio36" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio36" value="d">
   D</label></p></td>
    </tr>
   <tr>
      <td>1.10. O professor desenvolve todo conteúdo proposto?</td>
      <td><p>
   <label>
   <input type="radio" name="Radio37" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio37" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio37" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio37" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio38" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio38" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio38" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio38" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio39" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio39" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio39" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio39" value="d">
   D</label></p></td>
      <td><p>
   <label>
   <input type="radio" name="Radio40" value="a">
   A</label>
   <label>
   <input type="radio" name="Radio40" value="b">
   B</label>
   <label>
   <input type="radio" name="Radio40" value="c">
   C</label>
   <label>
   <input type="radio" name="Radio40" value="d">
   D</label></p></td>
    </tr>
</table>
<br>
<center>
<input name="benviar" id="benviar" type="submit" value="ENVIAR">
<input name="blimpar" id="blimpar" type="reset" value="LIMPAR">
</form>
</body>

</html>

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.