PHP - Datalist no funciona en Ipad

 
Vista:
Imágen de perfil de Yoel
Val: 617
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Datalist no funciona en Ipad

Publicado por Yoel (199 intervenciones) el 21/05/2024 01:52:19
Tengo la siguiente situación: estoy usando un datalist en un formulario, pero en el caso específico de las iPad y iPhone, el datalist deja de funcionar siempre que el teclado está presente. El problema es que cuando me muestra el dato que quiero y lo selecciono para que se pase al input, no realiza la acción. A continuación, les dejo mi código para ver si me pueden ayudar.

Gracias

En el Html

1
<input type="text" name="autorizacion" list="idauto" class="input-block-level" placeholder="Autorización" value="<?php echo input_post('autorizacion') ?>" required>

En el Javascript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var inputs = document.querySelectorAll('input[list]');
 
inputs.forEach(function(input) {
    input.addEventListener('input', function(e) {
        var optionFound = false;
        var datalist = this.list;
 
        for (var j = 0; j < datalist.options.length; j++) {
            if (this.value == datalist.options[j].value) {
                optionFound = true;
                break;
            }
        }
 
        if (optionFound) {
            this.setCustomValidity('');
        } else {
            this.setCustomValidity('Por favor, selecciona una opción válida.');
        }
    });
});

En el php

1
2
3
4
5
6
7
8
9
10
11
12
13
if (!function_exists('get_selectarrayinput')) {
    function get_selectarrayinput($array = array(), $id_list = '')
    {
        if ($array != '') {
            $datos = '<datalist id="' . $id_list . '">';
            foreach ($array as $key => $value) {
                $datos .= '<option value="' . $value . '">';
            }
            $datos .= '</datalist>';
        }
        return $datos;
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder