Pregunta sobre Smart Forms - when you need more than just a contact form de Wordpress:

Validación del selector de fechas

Un usuario preguntó 👇

Hola…

Tengo dos campos de citas en mi formulario: Fecha de llegada y Fecha de salida

Necesito el formulario para validar lo siguiente:

– La fecha de salida no debe ser anterior a la fecha de llegada (es decir, no se puede ingresar la fecha de llegada 1/1/18 y la fecha de salida 30/12/17). Idealmente, el selector debe seleccionar una fecha de salida antes de la fecha de llegada.

– La fecha de llegada no debe ser anterior a la fecha actual (es decir, si un usuario está en el sitio el 30/5/17, no debe poder seleccionar una fecha de llegada / salida antes de esta fecha)

¡¡Gracias!!

(@edgarrojas)

Hace 3 años, 4 meses

¡Hola!

Lo sentimos, no hay forma de deshabilitar las fechas de la interfaz de usuario, pero esto se puede hacer con javascript (esto se puede agregar en la sección de javascript de su formulario). algo como esto:

rnJQuery('#arrivaldate input').change(function(){
rnJQuery( "#departuredate input” ).datepicker('option', 'minDate', rnJQuery( "#arrivaldate input" ).datepicker("getDate"));
});

para deshabilitar todas las fechas antes de la fecha de llegada, para deshabilitar todas las fechas antes de hoy, puede agregar esto:

rnJQuery( '#arrivaldate input' ).datepicker('option', 'minDate',0);

Entonces, al final, su js debería ser así:


  //AUTO GENERATED CODE, DO NOT DELETE
(function(){var javaObject={

//YOU CAN PUT YOUR CODE BELLOW

//jQueryFormReference:A jquery reference of the loaded form
AfterFormLoaded:function(jQueryFormReference){
 rnJQuery('#arrivaldate input').change(function(){
rnJQuery( "#departuredate input” ).datepicker('option', 'minDate', rnJQuery( "#arrivaldate input" ).datepicker("getDate"));
rnJQuery( '#arrivaldate input' ).datepicker('option', 'minDate',0); 

});

});
},

//jQueryFormReference:A jquery reference of the loaded form
//formData:An object with the information that is going to be submitted
BeforeFormSubmit:function(formData,jQueryFormReference){
    //Here you can put code that you want to be executed before the form is submitted
}

//MORE AUTO GENERATED CODE, DO NOT DELETE
}; return javaObject;})  

Espero que esto ayude, ¡pero si no me hace saber!

Esta respuesta fue modificada hace 3 años, 4 meses por. Lanzador de hilos

(@tomematthews)

Hace 3 años, 4 meses

Hola Edgar – muchas gracias por tu respuesta …

Desafortunadamente, eso no parece estar funcionando. Quizás estoy haciendo algo mal, ya que no tengo experiencia con JS, pero puedo elegir fechas antes de hoy, y fechas de salida antes de la fecha de llegada, y el formulario encaja perfectamente …

Cuando hago clic en Validar debajo del cuadro JS, me dice: SyntaxError: Carácter no válido: ‘#’

Cambié los nombres de mis campos para que coincidan con el script (fecha de llegada y fecha de salida), ya que anteriormente solo eran ‘venida’ y ‘salida’, pero eso no ayudó

¡Agradecería cualquier ayuda adicional que pueda ofrecer! Gracias…

(@edgarrojas)

Hace 3 años, 4 meses

Seguro, ¿podría enviarme un enlace a su formulario? Puedo crear el código que necesita.

Lanzador de hilos

(@tomematthews)

Hace 3 años, 4 meses

Hola Edgar …

Hay dos formas: http://www.bryhercampsite.co.uk/booking y http://www.bryhercampsite.co.uk/belltents

¡Muchos gracias!

(@edgarrojas)

Hace 3 años, 3 meses

Si lo tiene, intente agregar esto a la parte de javascript de su formulario:

// CODIGO GENERAL AUTO, NO BORRAR (function () {var javaObject = {

// PUEDO ENVIAR TU CÓDIGO

// jQueryFormReference: referencia jquery del formulario de carga AfterFormLoaded: function (jQueryFormReference) {

rnJQuery (‘# entrada de fecha de llegada’) .datepicker (‘opción’, ‘minDate’, 0); rnJQuery (‘# entrada de fecha de llegada’). change (function () {rnJQuery (‘#departuredate input’) .datepicker (‘option’, ‘minDate’, rnJQuery (‘#arrivaldate input’) .datepicker (‘getDate’));});

},

// jQueryFormReference: Cargando formulario jquery reference // formData: Algo con la información para ingresar BeforeFormSubmit: function (formData, jQueryFormReference) {// Aquí puede agregar el código que desea ejecutar antes de enviar el formulario a}

// MÁS CÓDIGO GENERAL, NO}; return javaObject;})

Creo que eso debería hacer el truco =).

Lanzador de hilos

(@tomematthews)

Hace 3 años, 3 meses

Eso es perfecto, ¡gracias!

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.