Open In App

How to create a dynamic report card using HTML, CSS and JavaScript ?

Improve
Improve
Like Article
Like
Save
Share
Report

We have to build a website where you can upload your student data like their name and marks in different subjects. And after uploading it will insert the student data in the table as well as, it will show the total marks, average, and pass/fail status. The implementation is done by using HTML and JavaScript.

Approach:

  • At first, we have to create some rows and columns for name and subject scores. Again subject scores will be further divided into four columns. There are four subject names that will be displayed. Users are allowed to enter the details with a click button to “Add To Table”.
  • There will be another table Student Data with four columns Name, Total, Average, Pass Or Fail.
  • For every entered data, one row will add to the score table, showing the student’s total score, average and pass or fail status. If the average score is greater than 70 then the status is “pass” otherwise the status is “fail”.
  • If we enter other data it will store in the table.

Example: This example describes the above-explained approach.

HTML




<!DOCTYPE html>
<html>
 
<body bgcolor="lightblue">
    <center>
    <table border="1" cellspacing="5" bgcolor="white">
        <caption><b>Input Marks</b></caption>
        <tr>
            <th rowspan="2">Name</th>
            <th colspan="4">Score</th>
 
        </tr>
        <tr>
            <th>Hindi</th>
            <th>English</th>
            <th>Math</th>
            <th>C Programming</th>
        </tr>
        <tr>
            <td><input type="text" id="aname"></td>
            <td><input type="text" id="am"></td>
            <td><input type="text" id="aj"></td>
            <td><input type="text" id="ad"></td>
            <td><input type="text" id="an"></td>
        </tr>
        <tr>
            <th colspan="5" height="30">
            <input type="submit" value="Add To Table" onclick="Sub()"></th>
        </tr>   
    </table>
    <br>
    <table border="1" cellspacing="5" bgcolor="white"
           height="100" width="500" cellpadding="5" id="TableScore">
        <caption><b>Student Data</b></caption>
        <tr>
            <th width="180">Name</th>
            <th>Total</th>
            <th>Average</th>
            <th>Pass Or Fail</th>
        </tr>
         
    </table>
    </center>
    <script type="text/javascript">
        function Sub(){
            let n, k, r, e, v, sum, avg;
            n=(document.getElementById('aname').value);
            k=parseFloat(document.getElementById('am').value);
            r=parseFloat(document.getElementById('aj').value);
            e=parseFloat(document.getElementById('ad').value);
            v=parseFloat(document.getElementById('an').value);
            // Calculating Total
            sum=k+r+e+v;
            avg=sum/4;
            // Display on Student Data
            let newTable = document.getElementById('TableScore');
            let row = newTable.insertRow(-1);
            let cell1 = row.insertCell(0);
            let cell2 = row.insertCell(0);
            let cell3 = row.insertCell(0);
            let cell4 = row.insertCell(0);
 
            cell4.innerHTML= n;
            cell3.innerHTML=sum;
            cell2.innerHTML = avg;
 
            if(avg>=70){
                cell1.innerHTML="<font color=green>Pass</font>";
            }else{
                cell1.innerHTML="<font color=red>Fail</font>";
            }
        }
    </script>
</body>
</html>


Output:



Last Updated : 09 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads