Uno de los problemas esenciales de los formularios es la validación de los datos que el usuario introduce. Se debería hacer una doble validación (javascript y el lenguaje dinámico en el que se esté programando) por si el navegador no soporta (o pasa) del Javascript.
El código HTML del formulario sería del estilo:
<form action="respuesta.php" method="post" onsubmit = "return valida(this);" >
Antes de enviarlo (onsubmit) llamamos a la función valida() que tiene el siguiente contenido:
// Validamos los datos requeridos function valida(formulario) { if (formulario.empresa.value.length == 0 && formulario.categoria.value.length == 0 && formulario.zona.value.length == 0) { alert('Debes usar algún criterio de búsqueda'); formulario.empresa.focus(); return false; } if (formulario.empresa.value.length < 3 && formulario.categoria.value.length == 0 && formulario.zona.value.length == 0) { alert('No se aceptan búsquedas de menos de 4 caracteres'); formulario.empresa.focus(); return false; } return true; }
Si el campo empresa del formulario no tiene ningún dato (longitud de su variable igual a 0), (lo mismo con el campo categoría) salta un mensaje.
Lo mismo pasa si el campo empresa tiene menos de 3 caracteres, por poner un ejemplo. Buen truco para formularios de búsqueda y búsquedas coherentes, menos de 3 caracteres devolverían demasiados resultados (posible DoS).