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.

144 lines
8.9 KiB
JavaScript

$(function() {
$.ajax({ type: "get", url: "/secureforms/form_token" }).done(function(data) { $("input[name=__ftoken__]").remove();
$("form").append(data); });
var $traveltypeSelect = $('input[type="radio"][name="traveltype"]');
var $traveltypeBlock = $("#traveltypeBlock");
var $adultsNumber = $("#adultsNumber");
var $adultsNumberInput = $("#AdulteNum");
var $childrenNumber = $("#ChildNum");
$traveltypeSelect.change(function(event) {
var s = event.target.value;
if (s == "with a group" || s == "with my family") {
$(".numberSelect").removeClass("hidden");
$(".numberSelect").show();
} else {
$(".numberSelect").hide().addClass("hidden");
}
});
var refs = document.referrer || '直接访问/来源未知';
$('#qurl').val(refs);
var $tipText = $("#tipText");
$tipText.fadeOut();
$('input[type="radio"]').click(function() {
var _name = $(this).attr('name');
$('input[name="' + _name + '"]').parent().removeClass('selected');
$(this).parent().addClass('selected')
});
$('input[name="flexible"]').click(function() {
$('.travelDays').children('.requiredArea').remove();
});
$('#starting_date').focus(function() {
$(this).siblings('.requiredArea').remove();
});
$('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 = $(window).height();
var documentHeight = $(document).height();
var scrollTopWhere = $(document).height();
var calcScrollTop = function($jqElement) {
var visibleTop = $jqElement.offset().top - $jqElement.height();
scrollTopWhere = visibleTop < scrollTopWhere ? visibleTop : scrollTopWhere;
}
$date_area = $('#dateOfArrival');
if ($(".departureDate").is(":hidden")) {
var $startingDate = $("#starting_date");
if ($('input[name="starting_date"]').val() == '') {
$('<div class="requiredArea">Please enter your travel date</div>').appendTo('#dateOfArrival');
calcScrollTop($startingDate);
requirei++;
}
} else {
$select_date = $('select[name="Year"]').val()+$('select[name="Month"]').val()+$('select[name="Day"]').val();
if ($select_date == '') {
$('<div class="requiredArea">Please enter your travel date</div>').appendTo('#dateOfArrival');
calcScrollTop($date_area);
requirei++;
}
}
if ($("#traveltypeBlock").is(":hidden")) {
var adult_num = parseInt($('.personalInfo #AdulteNum').val());
var $adult_num_select = $('.personalInfo #AdulteNum');
if ( ! (adult_num > 0)) {
$('<div class="requiredArea">Please select your number of travelers</div>').insertAfter($adult_num_select.parent());
calcScrollTop($adult_num_select);
requirei++;
}
} else {
var $traveltype = $("#traveltypeBlock");
if ($('input:radio[name="traveltype"]:checked').val() == undefined) {
$('<div class="requiredArea">Please select your travel style</div>').appendTo('#traveltypeBlock');
calcScrollTop($traveltype);
requirei++;
}
if ($(".numberSelect").is(":visible") ) {
var adult_num = parseInt($('.numberSelect #AdulteNum').val());
if ( ! (adult_num > 0) ) {
$('<div class="requiredArea">Please select your number of travelers</div>').appendTo('#traveltypeBlock');
calcScrollTop($traveltype);
requirei++;
}
}
}
var $realname = $('input[name^="realname"]');
if (($realname[0].value + $realname[1].value) == '') {
$realname.parent().append('<div class="requiredArea">Please enter your full name</div>');
calcScrollTop($realname);
requirei++;
}
var $Nationality = $("#Nationality");
if ($('#Nationality').val() == '') {
$('#Nationality').parent().append('<div class="requiredArea">Please select 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 < documentHeight) {
$("body,html").animate({
scrollTop: scrollTopWhere
})
}
if (requirei > 0) {
return false;
}
return true;
}
$("#tailor_made_form").submit(function(e) {
$('.requiredArea').remove();
if (!checkForm()) {
return false;
}
});
//"australia", "canada", "china", "france", "germany", "italy", "malaysia", "singapore", "united kingdom", "united states",
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"];
$(function() {
$('#Nationality').autocomplete({
source: nationality_map,
});
});
});