Onsubmit ainda envia ao devolver falsas
Estou tendo um problema com uma simples página de login html que fiz, quando envio o formulário de login com credenciais inválidas que o formulário ainda envia, mesmo que meu método de validação esteja executando o comando "return false". Eu sei que essa pergunta foi feita várias vezes aqui, mas nenhuma das respostas para essas perguntas me ajudou.
Meu formulário html é o seguinte:
<form onSubmit="return validateForm();" method="get" action="TestPage.html">
<div id="centralPoint" class="frame">
<select id="centralPointSelect" data-inline="true" data-mini="true" data-native-menu="false" name="centralPoint"></select>
</div>
<div id="credentialsFrame" class="frame">
<input id="userField" type="text" name="Username" />
<input id="passField" type="password" name="Password" />
</div>
<div id="errorMsg"></div>
<input id="loginBtn" type="submit" value="Login" />
<div id="rememberMe" class="frame">
<input type="checkbox" id="checkbox-1" class="custom" data-mini="true" name="rememberMe" />
<label for="checkbox-1">Keep me signed in</label>
</div>
<div id="forgotPassFrame">
<input id="forgotPass" type="button" data-mini="true" value="Forgot password?" />
</div>
</form>
E aqui está o meu método javascript. Observe que, mesmo se a única linha de código aqui for "return false"; o formulário ainda envia. Eu também verifiquei no firebug para ter certeza de que o método está realmente sendo chamado e que, de fato, ele está retornando false, e tudo é verificado.
function validateForm()
{
var usernameTxt = $("#userField").attr("value");
var passwordTxt = $("#passField").attr("value");
if (usernameTxt == "" || passwordTxt == "" || (usernameTxt == userLbl && passwordTxt == passLbl))
{
$("#errorMsg").html("Please enter a username and password.");
return false;
}
}
Existe algo realmente óbvio que estou perdendo? Eu não estou ligando o evento onsubmit de forma alguma além do que você pode ver na tag de formulário html, nem estou designando qualquer manipulador de cliques para o botão de envio.
Pode ser relevante que eu esteja usando o JQuery mobile, é possível que isso esteja fazendo algo com o meu formulário?