Commit 5ba94c74fa6b627fed96de857d22acd0acbc5f7f

Authored by Alexey Boroda
1 parent 819d8959

-Modals ready, need to fix success modal

Showing 3 changed files with 114 additions and 7 deletions   Show diff stats
blocks/footer_endhtml.php
... ... @@ -202,6 +202,7 @@ _________________________________________________________ -->
202 202 <script src="/js/start-swipe.js"></script>
203 203 <!-- owl carousel -->
204 204 <script src="js/owl.carousel.min.js"></script>
  205 +<script src="/js/submit.js"></script>
205 206  
206 207 </body>
207 208 </html>
208 209 \ No newline at end of file
... ...
blocks/modal.php
... ... @@ -6,11 +6,11 @@
6 6 </div>
7 7 <div class="modal-body">
8 8 <form id="get-itform" action="" method="POST" role="form">
9   -<div class="form-group field-booknow-email required">
  9 +<div id="name-block" class="form-group field-booknow-email required">
10 10 <div class="on_input_"></div><label class="control-label" for="booknow-email">Ваше имя</label><input type="text" id="booknow-email" class="form-control" name="name" autocomplete="off" aria-required="true">
11   -</div><div class="form-group field-booknow-email required">
  11 +</div><div id="email-block" class="form-group field-booknow-email required">
12 12 <div class="on_input_"></div><label class="control-label" for="booknow-email">Ваш e-mail</label><input type="text" id="booknow-email" class="form-control" name="email" autocomplete="off" aria-required="true">
13   -</div><div class="form-group field-booknow-email required">
  13 +</div><div id="phone-block" class="form-group field-booknow-email required">
14 14 <div class="on_input_"></div><label class="control-label" for="booknow-email">Ваш телефон</label><input type="text" id="booknow-email" class="form-control" name="phone" autocomplete="off" aria-required="true">
15 15 </div>
16 16 <div class="form-group field-booknow-message">
... ... @@ -27,17 +27,17 @@
27 27 <div class="overlay-new"></div>
28 28 </div>
29 29  
30   - <div class="success_" style="display:none;">
  30 + <div id="success-modal" class="success_" style="display:none;">
31 31 <div class="forms_wr_">
32 32 <div class="modal-header">
33 33 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times</button>
34   - <h3 class="modal-title" id="Success">Thank you</h3>
  34 + <h3 class="modal-title" id="Success">Спасибо за заявку</h3>
35 35 </div>
36 36 <div class="modal-body">
37 37  
38   - <p class="text-center">We will send you tour information in short time!</p>
  38 + <p class="text-center">Мы скоро с вами свяжемся.</p>
39 39 <p class="text-center">
40   - <button type="button" class="btn btn-template-primary" data-dismiss="modal">Close</button>
  40 + <button type="button" class="btn btn-template-primary" data-dismiss="modal">Закрыть</button>
41 41 </p>
42 42 </div>
43 43 </div>
... ...
js/submit.js
  1 +$(
  2 + function() {
  3 + $(document)
  4 + .on(
  5 + 'submit', '#get-itform', function(e) {
  6 + e.preventDefault();
  7 + var dataArray = $(this)
  8 + .serializeArray();
  9 + dataArray.forEach(
  10 + function(elem) {
  11 + console.log(elem.name);
  12 + }
  13 + );
  14 +
  15 + var form = this;
  16 + if (validate(dataArray)) {
  17 + $.ajax(
  18 + {
  19 + url: 'http://artbox.net.ua/en/feedback',
  20 + type: "POST",
  21 + data: dataArray,
  22 + success: function(data) {
  23 + if (data.status) {
  24 + form.reset();
  25 + var pos = ($(window)
  26 + .scrollTop() + 30 + 50);
  27 + $('.forms_')
  28 + .animate(
  29 + {
  30 + opacity: 0,
  31 + top: '0'
  32 + }, 200, function() {
  33 + $(this)
  34 + .css('display', 'none');
  35 + // $('#overlay').fadeOut(400);
  36 + }
  37 + );
  38 + $('#success-modal')
  39 + .css('display', 'block')
  40 + .animate(
  41 + {
  42 + opacity: 1,
  43 + top: pos
  44 + }, 200
  45 + );
  46 + }
  47 + }
  48 + }
  49 + );
  50 + }
  51 + }
  52 + );
  53 +
  54 + $(document)
  55 + .on(
  56 + 'blur', '.form-control', function() {
  57 + var formData = $('#get-itform')
  58 + .serializeArray();
  59 + validate(formData);
  60 + }
  61 + );
  62 +
  63 + function validate(array) {
  64 + var isValid = true;
  65 + var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  66 + array.forEach(
  67 + function(element) {
  68 + switch (element.name) {
  69 + case 'name' :
  70 + if (element.value.length === 0) {
  71 + $('#name-block')
  72 + .addClass('has-error');
  73 + isValid = false;
  74 + } else {
  75 + $('#name-block')
  76 + .removeClass('has-error');
  77 + }
  78 + break;
  79 + case 'phone' :
  80 + if (element.value.length === 0) {
  81 + $('#phone-block')
  82 + .addClass('has-error');
  83 + isValid = false;
  84 + } else {
  85 + $('#phone-block')
  86 + .removeClass('has-error');
  87 + }
  88 + break;
  89 + case 'email' :
  90 + if ((element.value.length === 0) || !re.test(element.value.toLowerCase())) {
  91 + $('#email-block')
  92 + .addClass('has-error');
  93 + isValid = false;
  94 + } else {
  95 + $('#email-block')
  96 + .removeClass('has-error');
  97 + }
  98 + break;
  99 + }
  100 + }
  101 + );
  102 +
  103 + return isValid;
  104 + }
  105 + }
  106 +);
0 107 \ No newline at end of file
... ...