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 Emitim1298
      const shape = { radius: 10, diameter() { return this.radius * 2; }, perimeter: () => 2 * Math.PI * this.radius }; shape.diameter(); shape.perimeter();
    • By Jack Oliveira
      Ola pessoal boa noite preciso salvar umas coisas no banco de dados usando ao clicar no botão que esteja aparecendo sem que recarregue a página
       
      Seria isso aqui
       
      HTML do botão
      <div class="btn-group"> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-up" aria-hidden="true"></i> Sim </a> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-down" aria-hidden="true"></i> Não </a> </div> No PHP para salvar no banco esta da seguinte forma.
      <?php if(isset($_POST['AvaliComentario'])) { // Se o cookie ainda não foi setado $cookie = isset($_COOKIE["avali_comentario_".$Comentario['id']]) ? $_COOKIE["avali_comentario_".$Comentario['id']] : null; if (!isset($cookie)) { $Adicionar = array( 'comentario_id' => $Comentario['id'], 'up' => post('up'), 'down' => post('down') ); $Query = DBCreate('avali_comentario', $Adicionar); // Se for um sucesso a query if ($Query) { // Seta um cookie setcookie("avali_comentario_".$Comentario['id']."", true, time()+60*60*24*6004); // Retorna false, ou seja, sucesso echo false; Redireciona(''.$URLSHARE.''); }else{ //AbreAlerta("Erro! Ouve um erro ao ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } }else{ //Sweet('Atenção!!!', 'Você já deu sua Curtida para '.$dados['titulo'].'!', 'warning', 'Fechar'); //AbreAlerta("Ops! Você já deu sua Curtida para ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } } Só preciso para quando clicar uns dos botão ele salvar sem precisar carregar a página...
       
      Se ter um forma diferente para fazer fico grato pelas dicas que puderem dar ai..
       
       
    • By dayvidham
      Olá, atualmente faço parte de uma comunidade brasileira que está imersa em um projeto DeFi de um Token que roda na rede BSC.
      Temos um Token chamado SkyRocketSR criado a 31 dias e ja somos mais de 5000 pessoas interessadas no seu sucesso.
      Estamos em busca de programadores, designers e todos que poderem somar à comunidade de alguma forma.
      Alguém gostaria de saber mais do projeto e quem sabe compor a equipe da linha de frente já que somos uma comunidade?
      Obrigado e contamos com você.

      https://skyrocketsr.com/en/

      Aqui há mais sobre nós!
    • By dayvidham
      Olá, atualmente faço parte de uma comunidade brasileira que está imersa em um projeto DeFi de um Token que roda na rede BSC.
      Temos um Token chamado SkyRocketSR criado a 31 dias e ja somos mais de 5000 pessoas interessadas no seu sucesso.
      Estamos em busca de programadores, designers e todos que poderem somar à comunidade de alguma forma.
      Alguém gostaria de saber mais do projeto e quem sabe compor a equipe da linha de frente já que somos uma comunidade?
      Obrigado e contamos com você.

      https://skyrocketsr.com/en/

      Aqui há mais sobre nós!
    • By mm_edilson
      Boa noite, amigos. Estou tentando inserir data completa e hora, assim:
      Segunda, 14 de Junho de 2021, 19:05:23
      Mas está saindo assim: 
      1, 1452021, 19:05:23.
      Segue meu código. Alguém poderia me ajudar a ver o que está errado?
       
      <script type="text/javascript"> function startTime() { var today=new Date(); var year=today.getYear(); if (year<2000) year += (year <1900) ? 1900 : 0 var day=today.getDay(); var month=today.getMonth(); var daym=today.getDate(); if (daym<10) daym="0"+daym var dayarray=new Array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"); var montharray=new Array("de Janeiro de ","de Fevereiro de ","de Março de ","de Abril de ","de Maio de ","de Junho de ","de Julho de ","de Agosto de ","de Setembro de ","de Outubro de ","de Novembro de ","de Dezembro de "); var h=today.getHours(); var m=today.getMinutes(); var s=today.getSeconds(); // adicione um zero na frente de números<10 m=checkTime(m); s=checkTime(s); document.getElementById('txt').innerHTML=day+","+daym+month+year+", "+h+":"+m+":"+s; t=setTimeout('startTime()',500); } function checkTime(i) { if (i<10) { i="0" + i; } return i; } </script> </head> </head> <body onload="startTime()"> <div id="txt"></div> </body>  
×

Important Information

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