|
|
|
@ -350,7 +350,7 @@ input.arrivalDate {height: 50px; width: 347px; font-size: 19px; padding: 5px 15p
|
|
|
|
|
reissuing of tickets would be at your expense!</p>
|
|
|
|
|
|
|
|
|
|
<div class="traveler_info">
|
|
|
|
|
<h3>Traveler 1</h3>
|
|
|
|
|
<h3 data-header>Traveler 1</h3>
|
|
|
|
|
<div class="selectionBlock">
|
|
|
|
|
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
@ -663,7 +663,7 @@ input.arrivalDate {height: 50px; width: 347px; font-size: 19px; padding: 5px 15p
|
|
|
|
|
<option value="Others">Others</option>
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
<button class="add_traveler_button" type="button">+ Add a traveler</button>
|
|
|
|
|
<button class="add_traveler_button" id="add_traveler_button" type="button">+ Add a traveler</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="inquiryBox">
|
|
|
|
|
<h2>Your contact information (optional)</h2>
|
|
|
|
@ -859,25 +859,19 @@ input.arrivalDate {height: 50px; width: 347px; font-size: 19px; padding: 5px 15p
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function validateForm() {
|
|
|
|
|
console.info($("#form-confirm-info").serialize());
|
|
|
|
|
let result = true;
|
|
|
|
|
const requiredFields = document.querySelectorAll(":required");
|
|
|
|
|
for (let index = 0; index < requiredFields.length; index++) {
|
|
|
|
|
const element = requiredFields[index];
|
|
|
|
|
const validityState = element.validity;
|
|
|
|
|
if (validityState.valueMissing) {
|
|
|
|
|
element.setCustomValidity('Please fill out this field.');
|
|
|
|
|
element.reportValidity();
|
|
|
|
|
break;
|
|
|
|
|
} else if (validityState.patternMismatch) {
|
|
|
|
|
element.setCustomValidity(element.dataset.pattern);
|
|
|
|
|
element.reportValidity();
|
|
|
|
|
break;
|
|
|
|
|
} else {
|
|
|
|
|
element.setCustomValidity("");
|
|
|
|
|
result = false;
|
|
|
|
|
element.setCustomValidity('Please fill out this field.');
|
|
|
|
|
element.reportValidity();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function show_review_modal() {
|
|
|
|
@ -885,7 +879,7 @@ input.arrivalDate {height: 50px; width: 347px; font-size: 19px; padding: 5px 15p
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// $('#reviewModal_body').html('loading....');
|
|
|
|
|
$('#reviewModal_body').html('loading....');
|
|
|
|
|
$.ajax({
|
|
|
|
|
type: "post",
|
|
|
|
|
dataType: "json",
|
|
|
|
@ -900,16 +894,37 @@ input.arrivalDate {height: 50px; width: 347px; font-size: 19px; padding: 5px 15p
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
$(function () {
|
|
|
|
|
$('.datepicker').datepicker({
|
|
|
|
|
controlType: 'select',
|
|
|
|
|
oneLine: true,
|
|
|
|
|
changeMonth: true,
|
|
|
|
|
changeYear: true,
|
|
|
|
|
yearRange: '2010:2055',
|
|
|
|
|
timeFormat: 'mm/dd/yy'
|
|
|
|
|
|
|
|
|
|
$(function() {
|
|
|
|
|
//添加客户
|
|
|
|
|
$("#add_traveler_button").click(function() {
|
|
|
|
|
var html = $(".traveler_info:first").clone();
|
|
|
|
|
$('#add_traveler_button').before(html);
|
|
|
|
|
var travelerCount = $(".traveler_info").length;
|
|
|
|
|
var $currentBox = $(".traveler_info:last");
|
|
|
|
|
$currentBox.find('[data-header]').text('Traveler ' + travelerCount);
|
|
|
|
|
$currentBox.find('.datepicker').removeClass('hasDatepicker').attr('id', '');
|
|
|
|
|
|
|
|
|
|
$('.datepicker').datepicker({
|
|
|
|
|
controlType: 'select',
|
|
|
|
|
oneLine: true,
|
|
|
|
|
changeMonth: true,
|
|
|
|
|
changeYear: true,
|
|
|
|
|
yearRange: '2010:2055',
|
|
|
|
|
timeFormat: 'mm/dd/yy'
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$('.datepicker').datepicker({
|
|
|
|
|
controlType: 'select',
|
|
|
|
|
oneLine: true,
|
|
|
|
|
changeMonth: true,
|
|
|
|
|
changeYear: true,
|
|
|
|
|
yearRange: '2010:2055',
|
|
|
|
|
timeFormat: 'mm/dd/yy'
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|