Доброго времени суток!
Есть тест с 11 вопросами. На каждый вопрос два варианта ответа (правильный - 1 бал, не правильный - 0 балов)
В конце балы подсчитываются. И посетителю предлагается ввести свои данные в форму.
После ввода данных клиент жмет кнопку "Отправить" и его должно перекинуть на страницу по его результатам.
Если балов 4 или меньше то - страница1
Если балов от 8 до 4 то - страница2
Если балов 9 или больше - страница3
Страницы есть, подсчет балов есть (на почту приходит их количество нормально)
Не работает именно переадресация на нужную страницу по количествам баллов.
Кто, что может подсказать? Я плохо соображаю в JS)
Вот так выглядит часть отвечающая за форму и подсчет:
function validation() {
var mail = $('.final-box').find('input[name="mail"]').val();
if(!mail) { alert('Заполните поле email') }
else { return mail }
}
function validationname() {
var name = $('.final-box').find('input[name="name"]').val();
if(!name) { alert('Заполните поле имя') }
else { return name }
}
function sendData(score, email, username) {
var data = new Array();
data.push({name: 'point', value: score});
data.push({name: 'email', value: email});
data.push({name: 'name', value: username});
$.ajax({
url: 'sendmail.php',
data: data,
type: 'POST',
dataType: 'html',
success: function (datas) {
console.log(datas);
}
});
}
$('.final-box .btn').on('click', function(){
if(validation()) {
var email = validation(),
name = validationname(),
score = point;
if ( score <= 4 ) {
sendData(score, email, name);
$('#exampleModal5_active').arcticmodal();
//document.location.href = "pointsmall.html";
} else if ( score >= 4 && score <= 8 ) {
$('#exampleModal5_active').arcticmodal();
sendData(score, email, name);
//document.location.href = "pointmedium.html";
} else if ( score >= 9 ) {
$('#exampleModal5_active').arcticmodal();
sendData(score, email, name);
//document.location.href = "pointbig.html";
}
}
});
А вот часть формы в HTML начиная от кнопки закончить тест и самой формой отправки.
<div class="featurette-divider">
<div class="container third-container">
<div class="col-xs-12">
<p class="text-center">Заполнено : <span class="num">0</span> из 11 Всего 11 вопросов</p>
</div>
<div class="clearfix"></div>
<div class="col-xs-12"><button href="modal-box" class="btn not-active" type="submit">ЗАКОНЧИТЬ ТЕСТ</button></div>
<div class="placeload"></div>
</div>
</div>
</form>
<div id="final-box" class="container final-box">
<h4>Почти готово!</h4>
<p class="description" style="text-align:center;">
Результаты теста придут Вам на почту
</p>
<form>
<div class="text-1">
<p>Ваше имя<span class="red">*</span> :</p>
<input name="name" type="text">
</div>
<div class="text-1">
<p>Ваш e-mail<span class="red">*</span> :</p>
<input name="mail" type="text">
</div>
<div class="clearfix"></div>
<div style="display:none" class="utm">
<input name="source" value="" type="hidden">
<input name="medium" value="" type="hidden">
<input name="compaign" value="" type="hidden">
</div>
<div class="col-xs-12"><button class="btn submit" type="button">Получить</button></div>
<div class="clearfix"></div>
</form>
</div>
Ну и PHP часть отправки формы до АПИ сервиса подписки :)
$postspoint = $_POST['point'];
$postsemail = $_POST['email'];
$postsname = $_POST['name'];
$backurl = 'http://my-site.com/baz.html';
if ( $postspoint <= 4 ) {
$backurl = "http://my-site.com/pointsmall.html";
} else if ( $postspoint >= 4 && $postspoint <= 8 ) {
$backurl = "http://my-site.com/pointmedium.html";
} else if ( $postspoint >= 9 ) {
$backurl = "http://my-site.com/pointbig.html";
}
echo "баллы".$postspoint ." страница, " . $backurl . ".";
/*$to = '';
$to2 = $postsemail;
$from = $postsemail;
$subject = "вы прошли тест";
$message = "вы прошли тест на ".$postspoint."";
$subject2 = "Новая заявка";
$message2 = "На сайте появилась новая заявка, email:".$from.", имеет баллы: ".$postspoint."";
$headers = "From:" . $from;
mail($to2,$subject,$message,$headers);
$headers2 = "From:" . $to;
mail($to,$subject2,$message2,$headers2);
echo "Ваша заявка отправлена, спасибо, " . $postsemail . ".";*/