Home  >  Q&A  >  body text

How to print selected checkbox value after submission

This is my checkbox list and the button I need to submit the data..

<label>Access Locations </label>
     <br />


     <input type="checkbox" name="chk[]" id="check1" class="pl" value="INT" /> dummy1
     <input type="checkbox" name="chk[]" id="check2" class="pl" value="MV" /> dummy2
     <input type="checkbox" name="chk[]" id="check3" class="pl" value="FV" /> dummy3
     <input type="checkbox" name="chk[]" id="check4" class="pl" value="PS" /> dummy4

     <br />
     <h4 name ="checkboxvalues" style="color:green" id="result_checkbox"></h4>  
    
     <input type="hidden" name="employee_id_update" id="employee_id_update" />
     <input onclick="getCheckboxValue()" type="submit" name="insert" id="insert" value="Update" class="btn btn-success" />

I am using the following class when clicking the button..

function getCheckboxValue() {

var l1 = document.getElementById("check1");
var l2 = document.getElementById("check2");
var l3 = document.getElementById("check3");
var l4 = document.getElementById("check4");

 
var res=" "; 
if (l1.checked == true){
  var pl1 = document.getElementById("check1").value;
  res = pl1 + ","; 
} 
else if (l2.checked == true ){
  var pl2 = document.getElementById("check2").value;
  res = res + pl2 + ","; 
}
else if (l3.checked == true){
document.write(res);
  var pl3 = document.getElementById("check3").value;
  res = res + pl3 + ","; 
}
else if (l4.checked == true){
  var pl4 = document.getElementById("check4").value;
  res = res + pl4 + ","; 
}

return document.getElementById("result_checkbox").innerHTML = "You have selected " + res ;

}

From the above method, although I have multiple checkboxes checked, when I click the button, I only see one value in checkboxvalues as shown in the picture.

Can someone tell me how to improve my code so that it displays all values ​​when multiple checkboxes are selected?

If both check1 and check2 are selected the output should be

Output:

You have selected INT,MV

P粉356128676P粉356128676169 days ago331

reply all(2)I'll reply

  • P粉295616170

    P粉2956161702024-04-07 11:15:54

    You are using if-else ladder diagram, which means if one of the conditions is met and executed, the other blocks will be ignored. You can use multiple if blocks to avoid this.

    reply
    0
  • P粉523335026

    P粉5233350262024-04-07 10:35:14

    You are using if else if statements, so once one of them is executed, the rest will not be executed. You can try an if statement for each checkbox and it will do the job.

    var res=" "; 
    if (l1.checked == true){
      var pl1 = document.getElementById("check1").value;
      res = pl1 + ","; 
    } 
    if (l2.checked == true ){
      var pl2 = document.getElementById("check2").value;
      res = res + pl2 + ","; 
    }
    if (l3.checked == true){
    document.write(res);
      var pl3 = document.getElementById("check3").value;
      res = res + pl3 + ","; 
    }
    if (l4.checked == true){
      var pl4 = document.getElementById("check4").value;
      res = res + pl4 + ","; 
    }

    reply
    0
  • Cancelreply