You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

174 lines
8.6 KiB
JavaScript

$(function() {
$.ajax({ type: "get", url: "/secureforms/form_token" }).done(function(data) { $("input[name=__ftoken__]").remove();$("form").append(data); });
var refs = document.referrer || '直接访问/来源未知';
$('#qurl').val(refs);
$("a[minus]").each(function(index, element) {
$(element).click(function() {
var targetId = $(this).data("target");
var $targetInput = $("#" + targetId);
var minVal = $targetInput.data("min");
var inputVal = parseInt($targetInput.val());
if (inputVal > minVal) {
inputVal -= 1;
$targetInput.val(inputVal);
}
});
});
$("a[plus]").each(function(index, element) {
$(element).click(function() {
var targetId = $(this).data("target");
var $targetInput = $("#" + targetId);
var maxVal = $targetInput.data("max");
var inputVal = parseInt($targetInput.val());
if (inputVal < maxVal) {
inputVal += 1;
$targetInput.val(inputVal);
}
});
});
var $tipText = $("#tipText");
$tipText.fadeOut();
$("input[name='city[]']").each(function() {
$(this).on("click", function() {
var allDays = 0;
$("input[name='city[]']:checked").each(function(index, checkedElement) {
var days = $(checkedElement).attr("data-days");
allDays += parseInt(days);
});
if (allDays == 0) {
$tipText.fadeOut();
} else {
var tip =
"For the destinations you selected we suggest you allow at least " +
allDays +
" days.";
$tipText.text(tip);
$tipText.fadeIn();
}
});
});
$(".withMenu").each(function(index, element) {
$withMenu = $(element);
$withMenu.click(function () {
$self = $(this);
var targetId = $self.data("target");
var collapse = $self.data("collapse");
if (collapse == undefined || collapse == 0) {
$self.children("a").text("x");
$self.data("collapse", "1");
$(targetId).show('fast');
} else {
$(targetId).hide();
$self.children("a").text("+");
$self.data("collapse", "0");
}
});
});
$('input[type="radio"]').click(function() {
var _name = $(this).attr('name');
$('input[name="'+_name+'"]').parent().removeClass('selected');
$(this).parent().addClass('selected')
});
$('input[name="los"]').focus(function(){
$('.travelDays').children('.requiredArea').remove();
});
$('input[name="flexible"]').click(function(){
$('.travelDays').children('.requiredArea').remove();
});
$('#Starting_Date2').focus(function(){
$('.datesArrival').children('.requiredArea').remove();
});
$('input[name="hotel"],input[name="hotel[]"]').click(function(){
$('.hotelBlock').children('.requiredArea').remove();
});
$('input[name="realname"],input[name="Nationality"],input[name="email"]').focus(function(){
$(this).parent().children('.requiredArea').remove();
});
//===================点击下一步操作 验证===============================
function checkForm(){
var requirei = 0;
var windowHeight = $(document).height();
var scrollTopWhere = windowHeight;
var calcScrollTop = function($jqElement) {
var visibleTop = $jqElement.offset().top - $jqElement.height();
scrollTopWhere = visibleTop < scrollTopWhere ? visibleTop : scrollTopWhere;
}
var $los = $("#los");
if($('input[name="los"]').val() == ''){
$('<div class="requiredArea">Please tell us how many days you will travel and if it is flexible</div>').appendTo('.travelDays');
calcScrollTop($(".travelDays"));
requirei ++;
}
var $startingDate = $("#Starting_Date2");
if($('input[name="starting_date"]').val()==''){
$('<div class="requiredArea">Please select your approximate arrival date</div>').appendTo('.datesArrival');
calcScrollTop($(".datesArrival"));
requirei ++;
}
var $hotelBlock = $(".hotelBlock");
var selectedHotel = $("input[name='hotel[]']:checked").length;
if (selectedHotel === 0) {
$('<div class="requiredArea">Please select your hotel style</div>').appendTo('.hotelBlock');
calcScrollTop($hotelBlock);
requirei ++;
}
var $realname = $("#realname");
if($('#realname').val()==''){
3 years ago
$('#realname').parent().append('<div class="requiredArea">Please enter your name</div>');
calcScrollTop($realname);
requirei ++;
}
var $Nationality = $("#Nationality");
if($('#Nationality').val()==''){
$('#Nationality').parent().append('<div class="requiredArea">Please enter your nationality</div>');
calcScrollTop($Nationality);
requirei ++;
}
var $email = $("#email");
if($('#email').val()==''){
$('#email').parent().append('<div class="requiredArea">Please enter your email</div>');
calcScrollTop($email);
requirei ++;
} else {
var emailPattern = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/;
if (!emailPattern.test($('#email').val())) {
$('#email').parent().append('<div class="requiredArea">Please verify your email</div>');
calcScrollTop($email);
requirei++;
}
}
if (scrollTopWhere < windowHeight) {
$("body,html").animate({
scrollTop: scrollTopWhere
});
}
if(requirei>0){
return false;
}
return true;
}
$("#js_nextstepes").click(function(){
$('.requiredArea').remove();
if(!checkForm()){
return false;
}
});
var nationality_map = ["afghanistan", "albania", "algeria", "american samoa", "andorra", "angola", "anguilla", "antarctica", "antigua and barbuda", "argentina", "armenia", "aruba", "australia", "austria", "azerbaijan", "bahamas", "bahrain", "bangladesh", "barbadian", "barbados", "belarus", "belgium", "belize", "benin", "bermuda", "bhutan", "bolivia", "botswana", "bouvet island", "brazil", "british indian ocean territory", "brunei darussalam", "bulgaria", "burkina faso", "burundi", "cambodia", "cameroon", "canada", "cape verde", "cayman islands", "central african republic", "chad", "chile", "china", "china HK", "christmas island", "colombia", "comoros", "congo", "cook islands", "costa rica", "croatia", "cuba", "cyprus", "czech republic", "czechoslovakia", "denmark", "djibouti", "dominica", "dominican republic", "east timor", "ecuador", "egypt", "el salvador", "equatorial guinea", "eritrea", "estonia", "ethiopia", "falkland islands", "faroe islands", "fiji", "finland", "france", "french guiana", "french polynesia", "gabon", "gambia", "georgia", "germany", "ghana", "gibraltar", "greece", "greenland", "grenada", "guadeloupe", "guam", "guatemala", "guernsey", "guinea", "guinea-bissau", "guyana", "haiti", "honduras", "hong kong", "hungary", "iceland", "india", "indonesia", "iran", "iraq", "ireland", "isle of man", "israel", "italy", "jamaica", "japan", "jersey", "jordan", "kazakhstan", "kazakhstan2", "kenya", "kiribati", "korea", "kuwait", "kyrgyzstan", "laos", "latvia", "lebanon", "lesotho", "liberia", "libyan arab jamahiriya", "liechtenstein", "lithuania", "luxembourg", "macau", "macedonia", "madagascar", "malawi", "malaysia", "maldives", "mali", "malta", "marshall islands", "martinique", "mauritania", "mauritius", "mayotte", "mexican", "micronesia", "moldova", "monaco", "mongolia", "montserrat", "morocco", "mozambique", "myanmar", "namibia", "nauru", "nepal", "netherlands", "netherlands antilles", "neutral zone", "new caledonia", "new zealand", "nicaragua", "niger", "nigeria", "niue", "norfolk island", "north korea", "northern mariana islands", "norway", "oman", "pakistan", "palau", "panama", "papua new guinea", "paraguay", "peru", "philippines", "pitcairn", "poland", "portugal", "puerto rico", "qatar", "reunion", "romania", "russian federation", "rwanda", "saint helena", "samoa", "san marino", "sao tome and principe", "saudi arabia", "scotland", "senegal", "seychelles", "sierra leone", "singapore", "slovakia", "slovenia", "solomon islands", "somalia", "south africa", "south georgia and the sandwich", "spain", "sri lanka", "sudan", "suriname", "swaziland", "sweden", "switzerland", "syrian arab republic", "taiwan", "tanzania", "thailand", "the republic of cote d'ivoire", "togo", "tokelau", "tonga", "trinidad and tobago", "tunisia", "turkey", "turkmenistan", "turks and caicos islands", "tuvalu", "uganda", "ukraine", "united arab emirates", "united kingdom", "united states", "unknown", "uruguay", "ussr", "uzbekistan", "vanuatu", "vatican city state", "venezuela", "vietnam", "virgin islands (british)", "virgin islands (u.s.)", "western sahara", "yemen", "yugoslavia", "zaire", "zambia", "zimbabwe"];
$('#Nationality').autocomplete({
source:nationality_map,
});
});