es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede cargar un valor de fecha en el formulario.

Utilizo un formulario de registro del plugin Ultimate Member, en el cual cada usuario proporciona su fecha de nacimiento. El campo se guarda como d/m/Y (ej. 17/11/1995) con una metaclave llamada “birthday” en la tabla de metadatos del usuario. Después de este registro, cada usuario puede enviar otros formularios en mi sitio (que creo manualmente con HTML). En estos formularios utilizo el modo de autocompletar desde los datos de registro utilizando:

value="<?php echo um_user('birthday');?>"

De esta manera, si alguien ya ha proporcionado los datos que el formulario necesita en su registro, ya están escritos en el campo correspondiente.

<label for="birthday">Cumpleaños:</label>
<input type="date" id="birthday" value="<?php echo um_user('birthday');?>" name="birthday" required="">

El problema es que la fecha no se completa con los datos proporcionados en el registro, aunque otros tipos de datos sí lo hacen normalmente. Intenté resolver esto utilizando type="datetype" y funciona, pero no puedo controlar la entrada con este tipo.

¿Alguna idea? (Prefiero soluciones con PHP o HTML porque no estoy familiarizado con Javascript).

¡Gracias de antemano!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Problema con los datos de autofill en el campo de fecha en un formulario HTML utilizando el complemento Ultimate Member

    Como se menciona en la pregunta, se está creando manualmente un formulario HTML para que los usuarios envíen datos después del registro utilizando el complemento Ultimate Member. El formulario incluye un campo de fecha que debe estar prellenado con la fecha de nacimiento proporcionada por el usuario durante el registro.

    Código:

    <label for="birthday">Cumpleaños:</label>
    <input type="date" id="birthday" value="<?php echo um_user('birthday');?>" name="birthday" required="">
    

    El código anterior se utiliza para crear el campo de entrada de fecha de nacimiento. El atributo value se utiliza para autocompletar el campo con la fecha de nacimiento del usuario.

    Problema:

    El problema es que el campo de fecha no se está llenando con los datos proporcionados durante el registro. Sin embargo, otros tipos de datos se llenan correctamente.

    Solución:

    El atributo type="date" no es compatible con el formato de fecha predeterminado que utiliza el complemento Ultimate Member para almacenar los datos. Por lo tanto, el campo de fecha no se está prellenando con el valor.

    Una solución puede ser convertir la fecha de nacimiento a un formato compatible antes de autocompletar el campo. Esto se puede lograr utilizando PHP.

    Puede utilizar el siguiente fragmento de código para convertir el formato de fecha:

    $date_of_birth = um_user('birthday'); // Obtener la fecha de nacimiento
    $new_date_format = date('Y-m-d', strtotime($date_of_birth)); // Convertir el formato a AAAA-MM-DD
    

    Ahora, en el formulario HTML, puede reemplazar el atributo value con lo siguiente:

    <input type="date" id="birthday" value="<?php echo $new_date_format;?>" name="birthday" required="">
    

    Esto debería prellenar el campo de fecha con la fecha de nacimiento del usuario.

    Espero que esta solución resuelva el problema.

Comments are closed.