javascript - form is getting submitted even after returing false

Solution:

What you need is to pass an event to the submit function, and use event.preventDefault() to stop the submission.

function hii(event, Name, Mobile) {
  let Count = 0;
  if (Name == "" || Name == null) {
    document.getElementById("nameerror").style.display = "block";
    document.getElementById("nameerror").innerHTML =
      "Please Enter Student Name";
    Count++;
  }
  if (Mobile == "" || Mobile == null) {
    document.getElementById("mobileerror").style.display = "block";
    document.getElementById("mobileerror").innerHTML =
      "Please Enter Student Mobile";
    Count++;
  }
  if (Count > 0) {
    event.preventDefault();
    alert(Count);
  }
}
<form
  action="addstudent.php"
  method="POST"
  onsubmit="hii(
    event,
    document.getElementById('name').value,
    document.getElementById('mobile').value
)"
>
  <input
    type="text"
    name="name"
    id="name"
    placeholder="Enter Student Name"
  /><br /><br />
  <label
    for=""
    id="nameerror"
    style="display: none; color: red; font-size: small"
  ></label>
  <input
    type="number"
    name="mobile"
    id="mobile"
    placeholder="Enter Mobile Number"
  /><br /><br />
  <label
    for=""
    id="mobileerror"
    style="display: none; color: red; font-size: small"
  ></label>

  <input type="submit" value="add" />
</form>

Answer

Solution:

You have to return the value in the handler

<form action="addstudent.php" method="POST" onsubmit="return hii(
    document.getElementById('name').value,
    document.getElementById('mobile').value
)">

But better yet is to keep it all together in your script

<form action="addstudent.php" method="POST">
   <!-- remove the onsubmit here --> 
<input type="submit" value="add">
   <!-- we'll put the listener here -->

Then, your script

document.querySelector('input[type="submit"]').addEventListener('click', function(e) {
  e.preventDefault();
  let Count = 0;
    let Name = document.getElementById('name').value;
    let Mobile = document.getElementById('mobile').value
  if (Name == "" || Name == null) {
    document.getElementById('nameerror').style.display = 'block';
    document.getElementById('nameerror').innerHTML = 'Please Enter Student Name';
    Count++;
  }
  if (Mobile == "" || Mobile == null) {
    document.getElementById('mobileerror').style.display = 'block';
    document.getElementById('mobileerror').innerHTML = 'Please Enter Student Mobile';
    Count++;
  }
  if (Count > 0) {
    alert(Count);
    return false;
  }
  document.querySelector('form').submit()
})

Source