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

booking-multistep.js 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. $(document).ready(function(){
  2. // Phone masking
  3. $('#phone').mask('(999) 999-9999', {placeholder:'x'});
  4. /***************************************/
  5. /* Datepicker */
  6. /***************************************/
  7. // Start date
  8. function dateFrom(date_from, date_to) {
  9. $( date_from ).datepicker({
  10. dateFormat: 'mm/dd/yy',
  11. prevText: '<i class="fa fa-caret-left"></i>',
  12. nextText: '<i class="fa fa-caret-right"></i>',
  13. onClose: function( selectedDate ) {
  14. $( date_to ).datepicker( 'option', 'minDate', selectedDate );
  15. }
  16. });
  17. }
  18. // Finish date
  19. function dateTo(date_from, date_to) {
  20. $( date_to ).datepicker({
  21. dateFormat: 'mm/dd/yy',
  22. prevText: '<i class="fa fa-caret-left"></i>',
  23. nextText: '<i class="fa fa-caret-right"></i>',
  24. onClose: function( selectedDate ) {
  25. $( date_from ).datepicker( 'option', 'maxDate', selectedDate );
  26. }
  27. });
  28. }
  29. // Destroy date
  30. function destroyDate (date) {
  31. $( date ).datepicker('destroy');
  32. }
  33. // Initialize date range
  34. dateFrom('#date_from', '#date_to');
  35. dateTo('#date_from', '#date_to');
  36. /***************************************/
  37. /* end datepicker */
  38. /***************************************/
  39. // Validation
  40. $( "#j-pro" ).justFormsPro({
  41. rules: {
  42. name: {
  43. required: true
  44. },
  45. email: {
  46. required: true,
  47. email: true
  48. },
  49. phone: {
  50. required: true
  51. },
  52. adults: {
  53. required: true,
  54. integer: true,
  55. minvalue: 0
  56. },
  57. children: {
  58. required: true,
  59. integer: true,
  60. minvalue: 0
  61. },
  62. date_from: {
  63. required: true
  64. },
  65. date_to: {
  66. required: true
  67. },
  68. message: {
  69. required: true
  70. }
  71. },
  72. messages: {
  73. name: {
  74. required: "Add your name"
  75. },
  76. email: {
  77. required: "Add your email",
  78. email: "Incorrect email format"
  79. },
  80. phone: {
  81. required: "Add your phone"
  82. },
  83. adults: {
  84. required: "Field is required",
  85. integer: "Only integer allowed",
  86. minvalue: "Value not less than 0"
  87. },
  88. children: {
  89. required: "Field is required",
  90. integer: "Only integer allowed",
  91. minvalue: "Value not less than 0"
  92. },
  93. date_from: {
  94. required: "Select check-in date"
  95. },
  96. date_to: {
  97. required: "Select check-out date"
  98. },
  99. message: {
  100. required: "Enter your message"
  101. }
  102. },
  103. formType: {
  104. multistep: true
  105. },
  106. afterSubmitHandler: function() {
  107. // Destroy date range
  108. destroyDate("#date_from");
  109. destroyDate("#date_to");
  110. // Initialize date range
  111. dateFrom("#date_from", "#date_to");
  112. dateTo("#date_from", "#date_to");
  113. return true;
  114. }
  115. });
  116. });