регулярная отправка не отключается в Chrome при использовании jquery validate и jquery - PullRequest
0 голосов
/ 30 марта 2012

jQuery v1.7.1 & jQuery Validate v.1.9

Проверка работает в Firefox 11.0, но не в Chrome (проверка выполняется, но обработчик отправки не препятствует отправке в случае сбоя при отправке)Проверка).Все поля, используемые в форме, имеют «тип» (текст и пароль - я пробовал также использовать просто текст, но, похоже, он не работал).

Любые мысли / предложения будут приветствоваться - в противном случае я вернусь к более старой версии любой библиотеки (также будут приветствоваться предложения о том, какие версии работают без проблем).

jsFiddle, по-видимому, не сообщает о каких-либо проблемах.

HTML :

<form class="visual" method="post" name="login" id="login" action="login"     autocomplete="on">       
<input type="email" id="email" name="email" maxlength="40" placeholder="Email Address" autofocus="autofocus" required="required" class="formInput"/><br/><br/>
<input type="password" id="password" name="password" maxlength="20" placeholder="Password" minlength="5" required="required" class="formInput"/><br/><br/>
<input type="submit" value="Log In"/><br/>
</form>​

Проверка :

jQuery(document).ready(function() {
var v = jQuery("#login").validate({
submitHandler: function(form) {
var data =  jQuery.toJSON(jQuery('#login').serializeArray());
{
var ajaxResponse = jQuery.ajax({
type: "post",
url: "login",
contentType: "application/json",
data: data,
timeout: 5000,
success: function(data) {
if (jQuery.parseJSON(data).indexOf("Invalid") == -1) {
jQuery('#displayResponse').html(jQuery.parseJSON(data));
window.location.replace("/" + jQuery.parseJSON(data)); 
}
else if (jQuery.parseJSON(data).indexOf("Invalid") != -1) {
jQuery('#displayResponse').html(jQuery.parseJSON(data));
} else {
jQuery('#response').html(jQuery.parseJSON(data));
window.location.replace("/"); 
}
},
error:function (xhr, ajaxOptions, thrownError){
jQuery('#displayResponse').html('unable to submit message - please check form fields and network connection');
} 
});
}
return false;
}
});

});
...