Jump to content
  • 0
CrysMorais

Como verificar se no questionário tem perguntas do tipo 'radio' ou 'checkbox'

Question

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%" >&nbsp;&nbsp;&nbsp;<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.

 

 

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By israel@iproduce.com.br
      Olá,
      Boa noite!
      Tenho algumas vagas para motion (basicamente banner de internet animado e vinhetas para redes sociais) para a cidade do Rio de Janeiro. As vagas são temporárias (6 meses), podendo ocorrer a efetivação nesse período. É necessário estar alocado no escritório no Rio.
      Conhecimento avançado em: Adobe Animate CC, Google Web Designer, After Effects.
      Além destes programas é um diferencial conhecer a linguagens: HTML5, CSS3 e Javascript.
      Tem interesse ou conhece alguém que esteja precisando? Então manda o seu portifólio e CV para no e-mail: freela@iproduce.com.br
      Boa sorte!
    • By Vinicius Bazan
      Sou leigo ainda no Java Script e não manjo de muita coisa ainda, eu preciso fazer uma função que que deve ser executada na pagina HTML, eu crio a função dentro da tag <script> na <head> do html, mas como eu chamo essa função no momento que eu precisar no <body>, o que eu devo digitar pro código saber que ali deve executar a função?
    • By PRWEB
      Boa tarde!!!
       
      Por favor como faço para marcar um checkbox e ai marca automaticamente um campo radio?
       
      Obrigado
    • By Randys
      Eu selecionei um elemento e adicionei a classe ativo nele, agora não estou conseguindo remover a classe quando eu seleciono outro elemento
      const article = document.getElementById(id); article.classList.add('ativo'); Eu preciso remover a classe ativo quando eu clicar em outro elemento article, como faço isso?
    • By Articulando
      Galera, seguinte. Estou tentando criar um evento em javascript que funciona da seguinte maneira; existem 5 checkbox na tela, ao selecionar dois checkbox os outros irão travar e não permitir o clique, se o usuário clicar novamente retirando a seleção de algum dos que foi selecionado ele volta a habilitar. Até então o código funciona blz, porém agora eu preciso fazer com que os dois primeiros checkbox contém como um único clique, ou seja, são 2 checkbox para travar, porém se eu selecionar o primeiro e o segundo eles contam como um, então eu o usuário poderia realizar outro clique em algum checkbox e ficariam 3 checkbox selecionados, porém isso só se aplica aos dois primeiros checkbox, caso não sejam eles é apenas dois cliques, se eles forem clicados o usuário pode escolher mais uma opção.
       
      o código atual está assim:
       
      <script type="text/javascript">
                  (function(){
                      "use strict";
                      var marcados = 0;
                      var verifyCheckeds = function($checks) {
                          if( marcados>=2 ) {
                              loop($checks, function($element) {
                                  $element.disabled = $element.checked ? '' : 'disabled';
                              });
                          } else {
                              loop($checks, function($element) {
                                  $element.disabled = '';
                              });
                          }
                      };
                      var loop = function($elements, cb) {
                          var max = $elements.length;
                          while(max--) {
                              cb($elements[max]);
                          }
                      }
                      var count = function($element) {
                          return $element.checked ? marcados + 1 : marcados - 1;
                      }
                      window.onload = function(){
                          var $checks = document.querySelectorAll('input[type="checkbox"][name="modalidades[]"]');
                          loop($checks, function($element) {
                              $element.onclick = function(){
                                  marcados = count(this);
                                  verifyCheckeds($checks);
                              }
                              if($element.checked) marcados = marcados + 1;
                          });
                          verifyCheckeds($checks);
                      }
                  }());
              </script>
       
       
      Quem conseguir me ajudar eu agradeço, preciso muito desse código rodando. 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.