Не понимаю, почему стандартное действие формы не отменяется.
На других своих сайтах работает. В чем может быть причина?
<div style="display: none;">
<div id="cunsult">
<form id="f-call" action="" method="POST" onsubmit="one_click(); return false;">
<p>Заголовок</p>
<input id="client-name" name="name" class="form-input" type="text" placeholder="Ваше имя...">
<input id="client-phone" name="phone" class="form-input" type="text" placeholder="Ваш телефон...">
<input type="submit" value="Получить консультацию">
<p class="f-success">Ваша заявка принята!</p>
<p class="f-error-phone">Укажите свой телефон!</p>
<p class="f-error">Не удалось отправить сообщение!</p>
</form>
</div>
</div>
function one_click(){
var message = '';
var client_name = $("#client-name").val();
var client_phone = $("#client-phone").val();
if (client_phone == ''){
$('.f-error-phone').slideDown();
setTimeout(function(){ $('.f-error-phone').slideUp(); }, 3000);
return;
}else{
message = 'Телефон: ' + client_phone + '<br /> Имя: ' + client_name;
$.ajax({
url: '/mailer/send_letter.php',
type: 'post',
data: 'mode=one_click&message=' + message,
dataType: 'text',
success: function(data) {
if (data = '0'){
$('.f-success').slideDown();
setTimeout(function(){ $('.f-success').slideUp(); }, 3000);
function func() {
location.reload();
}
setTimeout(func, 2000);
}else{
$('.f-error').slideDown();
setTimeout(function(){ $('.f-error').slideUp(); }, 3000);
return;
}
}
});
}
}