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
En el Javascript
En el php
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


0