Each seminar card includes an Inscribirme ahora button. Clicking it opens a modal overlay (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/val20-11/Pagina-de-Seminarios-y-Eventos-UIM/llms.txt
Use this file to discover all available pages before exploring further.
#inscripcionModal) pre-selected to that seminar. The form collects the visitor’s details, detects whether they belong to FES Acatlán, and conditionally reveals an account number field with a smooth CSS animation.
Opening the modal
Every.btn-inscripcion button fires openModal(titulo) with the seminar title as argument. The function is wired in two places to survive re-renders:
js/seminarios.js
#modalSeminario select element is populated on page load by iterating over the full seminarios array:
js/seminarios.js
Form fields
The form#formInscripcion is declared in reestructuracion.html:
reestructuracion.html
Field details
Field details
| Field | Element | Validation |
|---|---|---|
| Nombre completo | input[type=text]#inputNombre | required |
| Correo electrónico | input[type=email]#inputCorreo | required, email format |
| Tipo de usuario | select#inputTipoUsuario | required |
| Número de cuenta | input[type=text]#inputNumeroCuenta | required only when interno; pattern [0-9]{8,9}, max 9 chars |
| Seminario | select#modalSeminario | required; pre-populated from seminarios array |
| Motivo de inscripción | textarea#inputMotivo | required |
User type detection and the conditional account number field
When the visitor selects a user type, a separate inline script (afterseminarios.js) reacts to the change event on #inputTipoUsuario:
reestructuracion.html (inline script)
Badge styles
The.tipo-badge span sits inline next to the label text and changes appearance to reflect the selected type:
reestructuracion.html (inline style)
Interno (FES Acatlán)
Badge turns dark blue (
#003B6F) with text FES Acatlán. The account number field slides in and becomes required.Externo
Badge turns gold (
#B38633) with text Externo. The account number field slides out, its required attribute is removed, and its value is cleared.Animated show/hide of the account number field
The transition usesmax-height and opacity rather than display toggling, which allows CSS to animate between the two states:
reestructuracion.html (inline style)
.visible triggers the transition from max-height: 0 to max-height: 120px over 350 ms. Removing .visible reverses the animation, collapsing the field back to zero height.
Closing the modal
Three actions close the modal and reset the form:X button
Clicking
#modalClose calls closeModal(), which removes .active from the overlay and calls modalForm.reset().Clicking the overlay
A click listener on
.modal-overlay checks e.target === modal. If the user clicks the dark backdrop (not the white content box), closeModal() is called.js/seminarios.js
resetTipoUsuario() function in the inline script also fires on the close button click and on the form’s reset event, restoring the user-type select, hiding the account number field, and clearing the badge:
reestructuracion.html (inline script)
modalForm.reset() (called inside closeModal) triggers the form’s native reset event, which in turn fires resetTipoUsuario. This means the user-type state is always cleaned up, even if the modal is closed via the overlay click path.Modal animation
The.modal-content panel slides in from above using a CSS keyframe animation that runs once each time the overlay becomes visible:
css/components.css