Кажется, я понял это, я не совсем уверен, почему это работает сейчас, но проблема была в том, что мне нужно было имя и тег id в полях пароля, например:
<form class="my-itemizedForm" action="createAccount.php" method="post" onsubmit="return validatePasswords()" id="accountForm">
<div class="createAccountField">
<input type="password" id="password" name="password" placeholder="Password" minLength="3" maxlength="40" required>
<br>
<br>
<input type="password" id="confirmPassword" name="confirmPassword" placeholder="Confirm Password" minLength="3" maxlength="40" required>
<br>
<br>
</div>
<input class="my-submitButton" type="submit" name="createAccount" value="Create Account">
<br>
<br>
</div>
</form>
Это JavaScript, который у меня работает:
function validatePasswords(){
var password = document.getElementById("password").value;
var password_confirm = document.getElementById("confirmPassword").value;
if(password != password_confirm){
alert("Your passwords do not match.");
document.getElementById("password").style.borderColor = "#E34234";
document.getElementById("confirmPassword").style.borderColor = "#E34234";
event.preventDefault();
return false;
}
else{
return true;
}
}
Если кто-нибудь знает, почему эта реализация работает в отличие от других, мне было бы интересно узнать.