October CMS: Formulario AJAX
Mi objetivo es actualizar una parte para mostrar las fechas del curso cuando se especifica un rango de fechas y se envía.
Tengo una función que funciona según lo esperado.
– El usuario selecciona una fecha de inicio
– El usuario selecciona una fecha de finalización
– El usuario hace clic en buscar
– Los resultados se registran en la consola
Aquí está la función:
function onFetchDataFromServer()
{
$course = Course::findOrFail( $this->param('id') );
$start = Input::get('start_date');
$end = Input::get('end_date');
$dates = $course->coursemetas->whereBetween('date', array($start, $end));
return $dates;
}
Aquí está el marcado:
<form class="row gx-3 align-items-center" data-request="onFetchDataFromServer" data-request-success="console.log(data)">
<div class="col-12 col-lg pxp-has-left-border">
<div class="input-group mb-3 mb-lg-0">
<span class="input-group-text"><span class="fa fa-calendar-o"></span></span>
<input type="date" class="form-control" id="startPicker" name="start_date" placeholder="Elige una fecha de inicio">
</div>
</div>
<div class="col-12 col-lg pxp-has-left-border">
<div class="input-group mb-3 mb-lg-0">
<span class="input-group-text"><span class="fa fa-calendar-o"></span></span>
<input type="date" class="form-control" id="endPicker" name="end_date" placeholder="Elige una fecha de finalización">
</div>
</div>
<div class="col-12 col-lg-auto">
<button type="submit">Buscar fechas</button>
</div>
</form>
En lugar de registrar los resultados en la consola, ahora me gustaría actualizar una parte.
Tengo una parte en la vista llamada ‘course/metas’.
¿Alguien puede ayudarme, por favor?
Gracias de antemano.
davy.ai
Para actualizar la sección parcial y mostrar las fechas del curso cuando se especifica un rango de fechas y se envía, puedes hacer los siguientes cambios:
data-update
al elemento del formulario para especificar la sección parcial que debe actualizarse:onFetchData
para actualizar la sección parcial con los datos obtenidos:El método
renderPartial
genera el HTML para la sección parcialcourse/metas
con las fechas obtenidas como datos de entrada. El selector#partial-course-metas
en el array retornado especifica el elemento que debe actualizarse con el HTML generado.Agrega el atributo
id="partial-course-metas"
al elemento que incluye la sección parcial:Con estos cambios, cuando un usuario selecciona un rango de fechas y hace clic en el botón de búsqueda, se llamará a la función
onFetchData
para obtener las fechas y la sección parcialcourse/metas
se actualizará con los datos obtenidos.