Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
ou você pode fazer um for em todos os checkbox ára ficar mais dinâmico.
@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.
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.
@augustoclaro
Não entendi muito bem usando true, pode explicar de um modo diferente?
Desde já,
Obrigado.
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.
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
@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.
Uma boa solução seria colocar como default algum deles, assim nã haveria necessidade de uma verificação.
@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.
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"](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>@augustoclaro
Valeu, vou estudar um pouco mais as modificações que você fez nele. Obrigado pela paciência! ;)
Tranquilo.
Você tem mais alguma dúvida ou o moderador já pode por o tópico como resolvido?
@augustoclaro
Desculpa a demora! Sim, já pode mudar para [Resolvido]!
Mais uma vez, agradeço!
Está indo mais ou menos no caminho certo, tente fazer o seguinte:
{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