I want the form to not be submitted when the inputs are wrong. The error messages do appear but my form still gets submitted nonetheless. I cant seem to find the problem would appreciate the help thank you :)-----------------------------------------------------------------------------------------------------
<form action="/handleServer.php" method="get" onsubmit="return validateForm()"> <!-- starting with first name--> <h4 class="heading" >First name:</h4> <input id="fname" type="text" name="fname" size="30"> <span id="errorName" class="error"></span> <!-- module code --> <h4 class="heading">Module code:</h4> <input id="mcode" type="text" name="mcode" size="30"> <span id="errorCode" class="error"></span> <input type="submit" value="Submit"> </form> <script> //input field using if-else statements function validateForm() { var fname = document.getElementById("fname").value; var mcode = document.getElementById("mcode").value; var errorN = document.getElementById("errorName"); var errorC = document.getElementById("errorCode"); //test for an empty input if (fname === '' && mcode === '') { errorN.innerHTML = "Please fill in the blank"; errorC.innerHTML = "Please fill in the blank"; return false; } if (fname === '') { errorN.innerHTML = "Please fill in the blank"; return false; } else { errorN.innerHTML = ""; } if (mcode === '') { errorC.innerHTML = "Please fill in the blank"; return false; } else { errorC.innerHTML = ""; } //test for invalid format if (/^[A-Z]\D{2,30}$/.test(fname) == false) //if its true, it will go to the second input { errorN.innerHTML = "One capital letter and no digits allowed"; fname.style.color="red"; return false; } else { fname.innerHTML = ""; } if (/^[a-z]{3}[1-9]\d{4}$/.test(mcode) == false) { errorC.innerHTML = "Wrong format"; mcode.style.color="red"; return false; } else { mcode.innerHTML = ""; } return true; }