Hola,
creo que me he pasado poniendo código, comprendo que puede asustar o aburrir, así que simplifico, únicamente pongo la función js que valida los tipos de datos y los input donde el usuario introduce los datos.
Si alguien me puede decir cómo hacer esto para que funcione se lo agradezco muchísimo.
Código:
<%@page import="java.util.*" %>
<%
//recuperamos los tipo de items de la sesion
HttpSession miSesion = request.getSession(false);
%>
<html>
<head>
<form action="/encuesta/servnuevaencuesta" method=post>
<script language="JavaScript1.2">
function ValidarNum(cadena){
if (isNaN(cadena)){
alert('Número inválido')
}
}
-->
function ValidarFecha(cadena){
var Fecha= new String(Cadena) // Crea un string
var RealFecha= new Date() // Para sacar la fecha de hoy
// Cadena Año
var Ano= new String(Fecha.substring(Fecha.lastIndexOf("-")+1,Fecha.length))
// Cadena Mes
var Mes= new String(Fecha.substring(Fecha.indexOf("-")+1,Fecha.lastIndexOf("-")))
// Cadena Día
var Dia= new String(Fecha.substring(0,Fecha.indexOf("-")))
// Valido el año
if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
alert('Año inválido')
}
// Valido el Mes
if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
alert('Mes inválido')
}
// Valido el Dia
if (isNaN(Dia) || parseInt(Dia)<1 || parseInt(Dia)>31){
alert('Día inválido')
}
if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
if (Mes==2 && Dia > 28 || Dia>30) {
alert('Día inválido')
}
}
}
</script>
<title>Editor de encuestas</title>
</head>
<body style="font-family: Verdana">
<p> Fecha actual
<input name="fechacreacion" type="text" id="fechacreacion" value= <%= miSesion.getValue("fechaHoy")%> onChange="ValidarFeha(document.getElmentById("fechacreacion").value)">
</p>
<tr> Fecha límite
<tr>
<input name="fechalimite" type="text" id="fechalimite" onChange="ValidarFeha(document.getElmentById("fechalimite").value)">
<p>Número máximo de respuestas
<input name="nummaxresp" type="text" id="nummaxresp2" onChange="ValidarNum(document.getElmentById("nummaxresp").value)">
</p>
<p>
<input type="submit" name="Submit" value="Enviar">
</p>