Skip Navigation

[Resuelto] Crear un bucle con los datepicket

Este es el foro de soporte técnico para Toolset: un paquete de plugines para el desarrollo de sitios WordPress sin escribir PHP.

Cualquier persona puede leerlo, pero solo los clientes de Toolset pueden publicar en este foro. El soporte de Toolset atiende 6 días a la semana, 19 horas por día.

This topic contains 1 respuesta, has 2 mensajes.

Last updated by Nigel hace 2 meses, 2 semanas.

Assigned support staff: Nigel.

Autor
Mensajes
#2050987

Me gustaria saber si hay alguna forma de Establecer algun tipo de regla para que todo los campos de tipo fecha no puedas superar unos parametros, tenemos en un formulario casi 50 fechas y se puede hacer uno por uno asi pero si hay alguna forma de simplificar el proceso.
//////////////////////////////////////////////////////////

if ($form_data['id']==6578){
$pacientefecha=get_post_meta(get_the_ID(),"wpcf-per-fecha-nac-paciente",true);
$fecha = date_create();
$hoy=date_timestamp_get($fecha);

$errorf1="No se puede poner una fecha inferior a la de nacimiento";
$errorf2='No se puede poner una fecha futura';
$errorf3='No puede tener una fecha de fin menor que la fecha de inicio';

if (!empty($_POST['wpcf-llc-fcha-diagnostico']['timestamp']))
{

if($_POST['wpcf-llc-fcha-diagnostico']['timestamp']<=$pacientefecha)
{
$errors['wpcf-llc-fcha-diagnostico']=$errorf1;
}
if($_POST['wpcf-llc-fcha-diagnostico']['timestamp']>$hoy)
{
$errors['wpcf-llc-fcha-diagnostico']=$errorf2;

}

}

}

#2051491

Nigel
Supporter

Languages: Inglés (English ) Español (Español )

Timezone: Europe/London (GMT+01:00)

Hola Rafael

Es posible añadir opciones a los datepickers al cargar la página (p.j. solo admitir fechas pasadas) ó despúes de seleccionar una fecha en otro datepicker (p.j. una fecha debe ser mayor que otra ya seleccionada) utilisando Javascript/jQuery.

Detalles de las opciones disponibles son: hidden link

He preparado una muestra de código para una empieza:

window.addEventListener("load", function () {
    (function ($) {
        //jQuery listo

        // 1. campo wpcf-empieza debe ser en el pasado
        $('input[name="wpcf-empieza[display-only]"]').datepicker( "option", "maxDate", "0" );

        // 2. campo wpcf-fin debe ser mayor que la fecha seleccionado en wpcf-empieza
        $('input[name="wpcf-fin[display-only]"]').datepicker( "option", "onClose", function( dateText, instance ){

            const date = new Date( instance.selectedYear, instance.selectedMonth, instance.selectedDay );
            $('input[name="wpcf-fin[display-only]"]').datepicker( "option", "minDate", date );
        });

    })(jQuery);
});

Trata de dos campos, "empieza" (metakey = 'wpcf-empieza') y "fin" (metakey = 'wpcf-fin').

Al cargar la página el campo empieza tiene puesto la opción que solo accepta fechas pasadas (maxDate = 0).

También, este mismo campo usa la opción "onClose" para actualiza las opciones del campo fin para que su fecha no puede ser menor que la fecha seleccionada para el campo empieza.

Lo que quieres es cuestión de aplicar código a los campos que quieres manipular según las opciones disponibles.