- 0
Como verificar se no questionário tem perguntas do tipo 'radio' ou 'checkbox'
Perguntado por
CrysMorais
Perguntado por
CrysMorais
Ao usar o fórum, você concorda com nossos Termos e condições.
Boa tarde pessoal,
Sou nova por aqui e também sou nova na programação, e gostaria da ajuda de alguém, se possível.
Eu montei uma pagina que cria questionários, onde o usuário pode criar perguntas com 4 tipos de respostas (Radio, Checkbox, Text e Number).
Porém não sei como verificar se no questionário, foi criado pelo menos uma pergunta de cada tipo.
Montei assim:
<select name="tipoconsquestao" id="tipoconsquestao" style="color:#000000; font-size:9px; width:130px; ">
<option value="1" selected >Única escolha</option>
<option value="2">Múltipla escolha</option>
<option value="3">Texto livre</option>
<option value="4">Número livre</option>
</select>
Criei um bloco desses para cada tipo de pergunta:
<%if (ArrayQuestions(6,i) = 1) then%>
<td width="8%" align=center>
<input name="<%=conta_grupo%>" data-sm-tipo="<%=ArrayQuestions(6,i)%>" data-sm-vrmaxquestao="<%=ArrayQuestions(11,i)%>" data-sm-questao-numero="<%=ArrayQuestions(2,i)%>" data-sm- alternativa="<%=ArrayQuestions(3,i)%>" data-sm-questao="<%=conta_grupo%>" id="<%=conta_Alternativa%>" type="radio" value="<%=ArrayQuestions(3,i) %>" <%if ArrayQuestions(4,i) = 1 then response.write "checked"%>/>
</td>
<td width="92%" > <b><%=ArrayQuestions(1,i)%><b></td>
<% end if %>
Recebo aqui:
var arrayquestoes = [];
var arrayalternativas = [];
var questionarioRadio = [];
var questionarioCheck = [];
var questionarioText = [];
var questionarioNum = [];
for (var i = 1; i <= n_grupos; i++) {
var countRadio = 0;
var countCheck = 0;
var countText = 0;
var countVrText = 0;
var countVariosVrText = 0;
var countNum = 0;
$("[data-sm-questao='" + i + "']").each(function (index, value) {
var questao = $(this).attr("data-sm-questao-numero");
var alternativa = $(this).attr("data-sm-alternativa");
//alert(alternativa);
var vralternativa = $(this).val();
var tipoalternativa = $(this).attr("data-sm-tipo");
vrmaxtotalizacao = $(this).attr("data-sm-vrmaxquestao");
arrayquestoes[i - 1] = questao;
//==============================================================================================================
// Verifica todos os campos tipo questão 1 (Radiobuttons) e carrega o array questionarioRadio com true ou false
//==============================================================================================================
if (eval(tipoalternativa) == 1)
{
if (this.checked) {
questionarioRadio[countRadio] = true;
if (textoalternativas == '') {
textoalternativas = questao + '|' + alternativa + '|' + 1;
}
else {
textoalternativas = textoalternativas + ';'+ questao + '|' + alternativa + '|' + 1;
}
}
else
{
questionarioRadio[countRadio] = false;
}
countRadio = countRadio + 1;
//console.log(cont);
}
Faço a validação aqui:
for (var k = 0; k < questionarioRadio.length; k++) {
if (questionarioRadio[k])
{
if (!saidafinalRadio)
{
saidafinalRadio = true;
}
}
}
if (questionarioRadio.length == 1)
{
saidafinalRadio = true;
}
}
if (!saidafinalRadio)
{
alert('Por favor responda todas as questões de única escolha.');
return;
}
E mando para o banco de dados.
Compartilhar este post
Link para o post
Compartilhar em outros sites