He estado buscando en este sitio y en otros lo que creo que puede ser una solución única para un problema en particular.
En esencia, tengo una función de búsqueda en mi sitio web. Consiste en un formulario que toma la entrada del usuario y la compara con el diálogo de la película almacenado en una tabla MySQL a través de mi página de resultados.php.
Sin embargo, me gustaría que la función de búsqueda tuviera un doble propósito . Al usar una lista de datos, me gustaría que la función de búsqueda muestre una lista de títulos disponibles (generada dinámicamente usando PHP, lo cual estoy más que seguro de poder hacer) y si un usuario selecciona uno de ellos y presiona Intro, serán dirigidos automáticamente a la página de título correspondiente (es decir, display.php?urn=0001).
Sin embargo, si el usuario ingresa una cadena que no está dentro de la lista de datos, lo redirigirá a resultados.php para los resultados de búsqueda estándar.
Esto es lo que he encontrado hasta ahora:
<html> <body> <form method='POST' action='results.php'> <input name="search" type="text" id="txtAutoComplete" list="TitleList" onkeydown = "if (event.keyCode == 13) window.location='display.php?urn=' + this.value" placeholder="Search dialogue" /> <datalist id="TitleList"> <option value="0001">After Life</option> <option value="0002">Blazing Saddles</option> <option value="0003">Million Ways to Die in the West, A</option> <option value="0004">Inbetweeners, The</option> </datalist> </form> </body> </html>El otro problema es que cuando un usuario selecciona un título de las opciones de la lista de datos, el título cambia a su valor. Por ejemplo, cuando selecciona "After Life", la entrada que se muestra en el campo de búsqueda cambia a 0001, lo que es un poco confuso para mis visitantes.
¿Hay alguna forma de conservar el título pero redirigir al valor (en este caso display.php?urn=0001) Y hay alguna forma de redirigir a results.php SI el valor ingresado no está contenido dentro del ¿Lista de datos?
Lo siento si hice esto más confuso de lo necesario, ¡pero me costó describir lo que quiero lograr aquí!
Cualquier ayuda que alguien pudiera darme sería muy apreciada.