huaisianhuang 3 rokov pred
rodič
commit
bebc609b6d

+ 2 - 2
step_question/apis/static/index2.html

@@ -14,7 +14,7 @@
 <body>
   <div class="container">
     <div class="text-center">
-      <img class="img-fluid" src="images/banner_top1.jpg" alt="幸福空間 - 裝修市場問卷調查">
+      <img class="img-fluid" src="images/banner_top.jpg" alt="幸福空間 - 裝修市場問卷調查">
     </div>
 
     <form action="/step_questions/submit" method="post" id="msform">
@@ -142,6 +142,6 @@
   
   <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
   <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js'></script>
-  <script src="./script.js"></script>
+  <script src="./script_msg.js"></script>
 </body>
 </html>

+ 192 - 0
step_question/apis/static/script_msg.js

@@ -0,0 +1,192 @@
+//jQuery time
+var current_fs, next_fs, previous_fs; //fieldsets
+var left, opacity, scale; //fieldset properties which we will animate
+var animating; //flag to prevent quick multi-click glitches
+
+$(".next").click(function(){
+  if( !validate() ){
+    return false;
+  }
+
+	if(animating) return false;
+	animating = true;
+	
+	current_fs = $(this).parent();
+	next_fs = $(this).parent().next();
+	
+	//activate next step on progressbar using the index of next_fs
+	$("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active");
+	
+	//show the next fieldset
+	next_fs.show(); 
+	//hide the current fieldset with style
+	current_fs.animate({opacity: 0}, {
+		step: function(now, mx) {
+			//as the opacity of current_fs reduces to 0 - stored in "now"
+			//1. scale current_fs down to 80%
+			scale = 1 - (1 - now) * 0.2;
+			//2. bring next_fs from the right(50%)
+			left = (now * 50)+"%";
+			//3. increase opacity of next_fs to 1 as it moves in
+			opacity = 1 - now;
+			current_fs.css({
+        'transform': 'scale('+scale+')',
+        'position': 'absolute'
+      });
+			next_fs.css({'left': left, 'opacity': opacity});
+		}, 
+		duration: 800, 
+		complete: function(){
+			current_fs.hide();
+			animating = false;
+		}, 
+		//this comes from the custom easing plugin
+		easing: 'easeInOutBack'
+	});
+});
+
+$(".previous").click(function(){
+	if(animating) return false;
+	animating = true;
+	
+	current_fs = $(this).parent();
+	previous_fs = $(this).parent().prev();
+	
+	//de-activate current step on progressbar
+	$("#progressbar li").eq($("fieldset").index(current_fs)).removeClass("active");
+	
+	//show the previous fieldset
+	previous_fs.show(); 
+	//hide the current fieldset with style
+	current_fs.animate({opacity: 0}, {
+		step: function(now, mx) {
+			//as the opacity of current_fs reduces to 0 - stored in "now"
+			//1. scale previous_fs from 80% to 100%
+			scale = 0.8 + (1 - now) * 0.2;
+			//2. take current_fs to the right(50%) - from 0%
+			left = ((1-now) * 50)+"%";
+			//3. increase opacity of previous_fs to 1 as it moves in
+			opacity = 1 - now;
+			current_fs.css({'left': left});
+			previous_fs.css({'transform': 'scale('+scale+')', 'opacity': opacity});
+		}, 
+		duration: 800, 
+		complete: function(){
+			current_fs.hide();
+			animating = false;
+		}, 
+		//this comes from the custom easing plugin
+		easing: 'easeInOutBack'
+	});
+});
+
+
+$("input[name=submit]").click(function(){
+	let stop;
+	   console.log($("#msform").serialize());
+	   
+   	if( $('input[name="q9"]:visible').val() !== undefined && !$('input[name="q9"]:visible').prop('checked') ) {
+		stop = 1;
+		$('#term-error').text('必須同意免責聲明與隱私使用政策');
+	}else {
+		stop = 0;
+		$('#term-error').text('');
+	}
+	if(stop == 0) {
+		/* $.ajax({
+			url: '/step_questions/submit',
+			type: 'post',
+			dataType: 'json',
+			data: $("#msform").serialize(),
+			success: function(data) {
+			  showThankyou();
+			},
+			error: function (error) {
+				console.error(error)
+			}
+		}); */
+		showThankyou();
+	}
+});
+
+// 依據管道導頁
+function showThankyou() {
+	document.location = '/a1/index_complete_msg.html';
+	// document.location = '/a1/index_complete_line.html';
+}
+// 跳離頁面
+$('.btn-exit').click(function() {
+	document.location = 'https://hhh.com.tw/';
+})
+
+$('.btn-term-exit').click(function () {
+	self.opener = null;
+	self.close();
+})
+
+function show_input_text(checkbox_id, input_id) {
+	var checkBox = document.getElementById(checkbox_id);
+	var inp = document.getElementById(input_id);
+	if (checkBox.checked == true){
+	  inp.style.display = "block";
+	} else {
+	  inp.style.display = "none";
+	}
+}
+
+function validate() {
+  function q2_validate() { 
+	let phoneno = /^\d{10}$/;
+    if( $('input[name="q2"]:visible').val() !== undefined && $('input[name="q2"]:visible').val().length <= 0) {
+      $('input[name="q2"]:visible').addClass('error');
+      if( !$('.error-text').length )
+          $('input.error').after('<p class="error-text">請輸入正確手機號碼</p>');
+      return false;
+    } else if($('input[name="q2"]:visible').val() !== undefined && !phoneno.test($('input[name="q2"]:visible').val())){
+		$('input[name="q2"]:visible').addClass('error');
+      if( !$('.error-text').length )
+          $('input.error').after('<p class="error-text">請輸入正確手機號碼</p>');
+      return false;
+	}else {
+        $('input[name="q2"]:visible').removeClass('error');
+        $('.error-text').remove();
+        return true;
+    }
+  }
+
+  function q3_validate() {
+	  let emailPattern = /^(([^<>()[\]\\.,;:\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,}))$/;
+    if( $('input[name="q3"]:visible').val() !== undefined && $('input[name="q3"]:visible').val().length <= 0) {
+      $('input[name="q3"]:visible').addClass('error');
+      if( !$('.error-text').length )
+          $('input.error').after('<p class="error-text">請輸入E-mail</p>');
+      return false;
+    } else if ( $('input[name="q3"]:visible').val() !== undefined && !emailPattern.test($('input[name="q3"]:visible').val()) ){
+		$('input[name="q3"]:visible').addClass('error');
+      	if( !$('.error-text').length )
+          $('input.error').after('<p class="error-text">請輸入正確email格式</p>');
+      	return false;
+	}
+    else {
+        $('input[name="q3"]:visible').removeClass('error');
+        $('.error-text').remove();
+        return true;
+    }
+  }
+
+  function q4_validate() {
+	  if( $('input[name="q4"]:visible').val() !== undefined && $('input[name="q4"]:visible').val().length <= 0 ) {
+		$('input[name="q4"]:visible').addClass('error');
+		if( !$('.error-text').length )
+			$('input.error').after('<p class="error-text">請輸入建案名稱</p>');
+		return false;
+	  } 
+	  else {
+		$('input[name="q4"]:visible').removeClass('error');
+        $('.error-text').remove();
+        return true;
+	  }
+  }
+
+  return q2_validate() && q3_validate() && q4_validate();
+}