Здравствуйте. Есть форма. Валидация данных происходит на сервере. Если данные введены верно - должно происходить перенаправление на другую страницу средствами сервера. Если неверно - должны вывестись сообщения об ошибках (без перезагрузки страницы).
Вот код:
<script>
$(document).ready(function(){
$('#form').submit(function(){
var username=$('#username').val();
var mail=$('#mail').val();
$.ajax({
type:'post',
data:'username='+username+'&mail='+mail,
success: function(errors) {
if (errors != 0) { //если есть ошибки
$('#message').append(errors); //выводим их
res = true; //создаём переменную, чтобы страница не перезагружалась
}
}
})
if (res == true) { //если res == true, то возвращаем false, чтобы перезагрузки страницы по нажатию submit не произошло. Но переменная res не видна. как её можно достать из success?
return false;
}
//в противном случае по идее должна сработать серверная функция перенаправления
})
})
</script>
Вся проблема в том, что переменная res не видна вне функции. Может есть варианты, чтобы "достать" её? Или может по-другому можно сделать, чтобы в зависимости от данных в succes отключать или включать return false для отправки формы?