Fields as checked or not, always have the same value

1
Expensive, good morning. I am with a certain problem, where I must make the choice of 3 fields of verification, if all 3 fields are unchecked, return the empty field message, otherwise, bring the values of the certain fields.

What happens is that, being either checked or not, they always have the same occurrence, in this case the value of the first field.

Html

<div class="row">
<div class="col-md-3 m-b-15">
<h5>Primeira checagem</h5>
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem1" value="prioridade" name="checagem1">
      <label class="form-check-label" for="materialChecked2">Prioridade</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem1" value="tentativas" name="checagem1">
      <label class="form-check-label" for="materialChecked2">Tentativas</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem1" value="agendamento" name="checagem1">
      <label class="form-check-label" for="materialChecked2">Agendamento</label>
    </div>
</div>
<div class="col-md-3 m-b-15">
<h5>Segunda checagem</h5>              
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem2" value="prioridade" name="checagem2">
      <label class="form-check-label" for="materialChecked2">Prioridade</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem2" value="tentativas" name="checagem2">
      <label class="form-check-label" for="materialChecked2">Tentativas</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem2" value="agendamento" name="checagem2">
      <label class="form-check-label" for="materialChecked2">Agendamento</label>
    </div>
</div>
<div class="col-md-3 m-b-15">
 <h5>Terceira checagem</h5>              
      <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem3" value="prioridade" name="checagem3">
      <label class="form-check-label" for="materialChecked2">Prioridade</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem3" value="tentativas" name="checagem3">
      <label class="form-check-label" for="materialChecked2">Tentativas</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" id="checagem3" value="agendamento" name="checagem3">
      <label class="form-check-label" for="materialChecked2">Agendamento</label>
    </div>
</div>

Javascript:

    var $status = document.getElementById("status").checked;
            var $intstatus = 1;
            if ($status ==true) {$intstatus=0;}
            var $qtdtentativas = document.getElementById("qtdtentativas").value;
            var $intervalo = document.getElementById("intervalo").value;
            var $destino = document.getElementById("destino").value;
            var $skill = document.getElementById("skill").value;
            var $pacing = document.getElementById("pacing").value;
            var $prefixo = document.getElementById("prefixo").value;
          //  var $prioridade = document.getElementById("prioridade").value;
            var $checagem1 = document.getElementById("checagem1").value;
            var $checagem2 = document.getElementById("checagem2").value;
            var $checagem3 = document.getElementById("checagem3").value;
            var $horainicio = document.getElementById("horainicio").value;
            var $horafinal = document.getElementById("horafinal").value;

            //+"&prioridade="+ $prioridade 

            var strurl = "gravadb.php?status="+$intstatus + "&intervalo=" +$intervalo + "&destino=" + $destino + "&qtdtentativas=" + $qtdtentativas + "&skill=" + $skill + "&pacing=" + $pacing + "&prefixo=" + $prefixo + "&horainicio=" + $horainicio + "&horafinal=" + $horafinal +"&prioridade1="+ $checagem1 +"&prioridade2="+ $checagem2 +"&prioridade3="+ $checagem3 + "";
            window.location.href = strurl;

PHP

    $prioridade1 = $_GET['prioridade1'];
    $prioridade2 = $_GET['prioridade2'];
    $prioridade3 = $_GET['prioridade3'];

    if(empty($prioridade1) || empty($prioridade2) || empty($prioridade3)){
        echo 'Preencha o campo de checagem';
    }else{
        echo "prioridade 1 = ".$prioridade1." prioridade 2 = ".$prioridade2." prioridade 3 = ".$prioridade3;
    }

Return:

prioridade 1 = prioridade prioridade 2 = prioridade prioridade 3 = prioridade

edit 1:

Changing the id to be unique for each element. However the request I am now making is via the name via getElementsByName (); Still it does not return any value.

 var $checagem1 = document.getElementsByName("checagem1").value;
 var $checagem2 = document.getElementsByName("checagem2").value;
 var $checagem3 = document.getElementsByName("checagem3").value;
    
asked by anonymous 23.08.2018 / 15:57

1 answer

0

To solve this problem I presented, I had to resort to javascript as follows:

var choices = [];
                   var els = document.getElementsByName('checagem1');
                   for (var i=0;i<els.length;i++){
                     if ( els[i].checked ) {
                       choices.push(els[i].value);
                     }
                   }
                   var choices1 = [];
                    var els1 = document.getElementsByName('checagem2');
                   for (var i=0;i<els1.length;i++){
                     if ( els1[i].checked ) {
                       choices1.push(els1[i].value);
                     }
                   }
                   var choices2 = [];
                    var els2 = document.getElementsByName('checagem3');
                   for (var i=0;i<els2.length;i++){
                     if ( els2[i].checked ) {
                       choices2.push(els2[i].value);
                     }
                   }

                   var $checagem1 = choices;
                   var $checagem2 = choices1;
                   var $checagem3 = choices2;

So I can only get the element that is checked, not having to perform the separation by the ID but rather by the name.

    
23.08.2018 / 20:30