Buenas PHPeros.
Gracias por responder tan pronto,, he intentado usar el código que me suministras en la web pero no me funciona o no se hacerlo funcionar, he seguido buscando otros códigos.
Encontré este pero tampoco válida correctamente en JScript.
(COPIAR EN UN NUEVO DOC HTML PARA PROBAR)
Código Javascript
:
Ver original<form action='' method='POST' id='datos' name='datos'>
<div id='input_dato'>
<label for='dato'>Dato Requerido:</label>
<input type='text' name='dato' id='dato' list='nombres' required oninput='verificar(this)'>
<input type='submit' name='boton' id='boton'>
<datalist id='nombres'>
<option value='LIGHT' class='nombre'/>
<option value='VEGETA' class='nombre'/>
<option value='IKKI' class='nombre'/>
<option value='EDEN' class='nombre'/>
</datalist>
</div>
</form>
<script>
//Esta función se encargará de realizar la validación de los datos
function verificar(input){
//Primero guardamos en una variable temporal el valor del input que se desea validar
var valor=input.value;
//Luego se verifica si el usuario intenta enviar el campo vacío
if(valor.length==0){
//Si el campo está vacío modificamos el mensaje que deseamos que muestre el navegador
//Este paso es opcional
input.setCustomValidity('Debe ingresar un nombre');
}else{
//Si el campo no está vacío, procedemos a validar la información
//Guardamos el valor de todos los datos presentes en el datalist en un arreglo temporal
var cis=document.querySelectorAll('#input_datos .nombre');
//Leemos cuantos elementos incluye el arreglo cis
var n=cis.length;
//Esta es una variable temporal que se usará en el análisis del arreglo cis
var valorT;
//Es una variable bandera que indicará si el datos suministrado está en la lista
var bandera=0;
//Recorremos cis
for(var i=0;i<n;i++){
//Guardamos el iésimo valor de cis en la variable temporal valorT
valorT=cis[i].value;
//Comparamos el valor suministrado con valorT
if(valor==valorT){
//Si son iguales el valor de la bandera cambia a uno
bandera=1;
//Interrumpimos el ciclo
break;
}
}
//Si la bandera es igual a uno el dato es válido y se podrá usar para cualquier función específica
if(bandera==1){
//Con esta línea eliminamos la validación de este input
input.setCustomValidity('');
}else{
//Si no se encontró el valor podemos "lanzar" un mensaje indicando el error
input.setCustomValidity(valor+' no existe en la lista sugerida');
}
}
}
</script>
Cómo puedo hacer funcionar uno de los dos códigos, esto de los datalist jeje, lo tenía un poco perdido la verdad.
Gracias saludos