Guest User

Untitled

a guest
Jul 1st, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.76 KB | None | 0 0
  1. <?php
  2. /*
  3. Template Name: Reservas
  4. */
  5. get_header();
  6. ?>
  7.     <div class="row contacto">
  8.             <!-- Contact Details Column -->
  9.         <!-- /.row -->
  10.  
  11.         <!-- Contact Form -->
  12.         <div class="row">
  13.             <div class="col-md-8 col-md-offset-1">
  14.                         <div class="reserva"><h2>Reservas</h2>Horarios de reserva</div>
  15.                         <h4><b>Mediodía</b> 12:00, 12.30 y 13:00hs. // <b>Noche</b> 19:30, 20:00, 20:30 y 21:00hs.</h4><h5> Por otros horarios consultar.</h5>
  16.             </div>
  17.                 <form name="sentMessage" id="contactForm" onsubmit='return validacion()'>          
  18.             <div class="col-md-4 col-md-offset-1">
  19.                     <div class="control-group form-group">
  20.                         <div class="controls">
  21.                             <label>Nombre y Apellido</label>
  22.                             <input type="text" class="form-control" id="name" name="name" required data-validation-required-message="Por favor ingrese su nombre." onsubmit="return validacion()" required="true">
  23.                             <p class="help-block"></p>
  24.                         </div>
  25.                     </div>
  26.                     <div class="control-group form-group">
  27.                         <div class="controls">
  28.                             <label>Teléfono</label>
  29.                             <input type="tel" class="form-control" id="phone" name="phone" required data-validation-required-message="Por favor ingrese su teléfono.">
  30.                         </div>
  31.                     </div>
  32.                     <div class="control-group form-group">
  33.                         <div class="controls">
  34.                             <label>Email</label>
  35.                             <input type="email" class="form-control" id="email" name="email" required data-validation-required-message="Por favor ingrese su correo electrónico.">
  36.                         </div>
  37.                     </div>
  38.                     <div id="success"></div>
  39.                     <!-- For success/fail messages -->
  40.                     <p>La reserva debe realizarse con medio día de antelación. Su reserva será confirmada por nosotros.</p>
  41.             </div>
  42.             <div class="col-md-2 col-md-offset-1">
  43.                     <div class="control-group form-group">
  44.                         <div class="controls">
  45.                             <label>Fecha</label>
  46.                             <input type="text" class="form-control" id="fecha" name="fecha">
  47.                             <p class="help-block"></p>
  48.                         </div>
  49.                     </div>
  50.                     <div class="control-group form-group">
  51.                         <div class="controls">
  52.                             <label>Horarios</label>
  53.                             <input type="tel" class="form-control" id="hs" name="hs">
  54.                         </div>
  55.                     </div>
  56.                     <div class="control-group form-group">
  57.                         <div class="controls">
  58.                             <label>Cantidad de personas</label>
  59.                            <div class="form-group">
  60.                             <input type="text" class="form-control" id="cant" name="cant"></input>
  61.                             </div>
  62.                         </div>
  63.                     </div>
  64.                     <div id="success"></div>
  65.                     <!-- For success/fail messages -->
  66.                     <button type="submit" id="submit_btn" class="btn btn-default">Hacer reserva</button>
  67.             </div>
  68.                 </form>
  69.             </div>
  70.         <div id="contactResult"></div>
  71. <script type="text/javascript" src="https://code.jquery.com/jquery-latest.js"></script>
  72. <script type="text/javascript">
  73. function validacion() {
  74.   if (condicion que debe cumplir el primer campo del formulario) {
  75.     // Si no se cumple la condicion...
  76.     alert('[ERROR] El campo debe tener un valor de...');
  77.     return false;
  78.   }
  79.   else if (condicion que debe cumplir el segundo campo del formulario) {
  80.     // Si no se cumple la condicion...
  81.     alert('[ERROR] El campo debe tener un valor de...');
  82.     return false;
  83.   }
  84.   ...
  85.   else if (condicion que debe cumplir el último campo del formulario) {
  86.     // Si no se cumple la condicion...
  87.     alert('[ERROR] El campo debe tener un valor de...');
  88.     return false;
  89.   }
  90.  
  91.   // Si el script ha llegado a este punto, todas las condiciones
  92.   // se han cumplido, por lo que se devuelve el valor true
  93.   return true;
  94. }
  95. </script>
  96. <script type="text/javascript">
  97. jQuery(document).ready(function() {
  98.     jQuery("#submit_btn").click(function(e) {
  99.        
  100.         var proceed = true;
  101.         jQuery("#contactForm input[required=true], #contactForm select[required=true]").each(function(){
  102.             jQuery(this).css('border-color','');
  103.             if(!jQuery.trim(jQuery(this).val())){ //if this field is empty
  104.                 jQuery(this).css('border-color','red'); //change border color to red  
  105.                 proceed = false; //set do not proceed flag
  106.             }
  107.             var email_reg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  108.             if(jQuery(this).attr("type")=="email" && !email_reg.test(jQuery.trim(jQuery(this).val()))){
  109.                 jQuery(this).css('border-color','red'); //change border color to red  
  110.                 proceed = false; //set do not proceed flag              
  111.             }  
  112.         });
  113.        
  114.         if(proceed) {
  115.             post_data = {
  116.                 'name'     : jQuery('input[name=name]').val(),
  117.                 'phone'  : jQuery('input[name=phone]').val(),
  118.                 'email'    : jQuery('input[name=email]').val(),
  119.                 'date'  : jQuery('input[name=fecha]').val(),
  120.                 'hs'  : jQuery('input[name=hs]').val(),
  121.                 'cant'  : jQuery('input[name=cant]').val(),
  122.         'ip' : '<?php echo $_SERVER['REMOTE_ADDR']; ?>'
  123.             };
  124.             jQuery.post('<?php echo get_bloginfo('template_url').'/sendmail.php?action=reserva'; ?>', post_data, function(response){  
  125.                 if(response.type == 'error'){ //load json data from server and output message    
  126.                     output = '<div class="error in">'+response.text+'</div>';
  127.             $('#contactResult').addClass( "error" );
  128.                 }else{
  129.                     output = '<div class="success in">'+response.text+'</div>';
  130.                     jQuery("#contactForm input").val('');
  131.                     jQuery("#contactForm").slideUp(); //hide form after success
  132.                 }
  133.                 jQuery("#contactResult").hide().html(output).slideDown();
  134.             }, 'json');
  135.         }
  136.     e.preventDefault();
  137.     });
  138.     jQuery("#contactForm input[required=true], #contactForm textarea[required=true]").keyup(function() {
  139.         jQuery(this).css('border-color','');
  140.         jQuery("#result").slideUp();
  141.     });
  142. });
  143. </script></div>
  144. <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment