Foros del Web » Programando para Internet » Javascript »

verificacion de año

Estas en el tema de verificacion de año en el foro de Javascript en Foros del Web. Debido a la ñ que no existe... para ciertas cosas he creado este pequeño script pero si pongo 2008 funciona, pero si pongo 2050 no ...
  #1 (permalink)  
Antiguo 28/11/2008, 12:51
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 7 meses
Puntos: 0
verificacion de año

Debido a la ñ que no existe... para ciertas cosas he creado este pequeño script pero
si pongo 2008 funciona, pero si pongo 2050 no pasa nada... pero si pongo 1900 dice que no es correcto...pero eso esta bien

//valido el año. tiene que ser 2008 o menor
edad = document.fvalida.edad.value
edad = validarEntero(edad)
document.fvalida.edad.value=edad
if (edad==""){
alert("Tiene que introducir el año actual.")
document.fvalida.edad.focus()
return 0;
}else{
if (edad > 2008){
alert("El año debe ser 2008")
document.fvalida.edad.focus()
return 0;
}

Hay alguna forma de obligar que sea solo 2008 y no 1900 o texto o 2050.

Gracias

Última edición por nightduke; 28/11/2008 a las 13:01
  #2 (permalink)  
Antiguo 28/11/2008, 18:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: verificacion de año

Usa == en lugar de > en la comparación if que tienes.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 03/12/2008, 12:53
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: verificacion de año

Me sigue haciendo lo mismo, si pongo 1900 me lo acepta...
Gracias de todas maneras.
  #4 (permalink)  
Antiguo 03/12/2008, 16:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Pregunta Respuesta: verificacion de año

¿Podrías subir tu página y poner un enlace? Quizás el error esté en otro lado. ¿Has mirado la Consola de Errores de tu navegador?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 05/12/2008, 05:51
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: verificacion de año

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
<body style="background-color: rgb(0, 102, 51);">

<script>

function validarEntero(valor){
//intento convertir a entero.
//si era un entero no le afecta, si no lo era lo intenta convertir
valor = parseInt(valor)

//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es numero) devuelvo el valor cadena vacia
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}

function valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 0;
}

//valido el año. tiene que ser 2008 o menor
edad = document.fvalida.edad.value
edad = validarEntero(edad)
document.fvalida.edad.value=edad
if (edad==""){
alert("Tiene que introducir el año actual.")
document.fvalida.edad.focus()
return 0;
}else{
if (edad >2008){
alert("El año debe ser 2008")
document.fvalida.edad.focus()
return 0;
}
}

//valido el apellidos
if (document.fvalida.apellidos.value.length==0){
alert("Tiene que escribir su apellidos")
document.fvalida.apellidos.focus()
return 0;
}

//valido el correo
if (document.fvalida.correo.value.length==0){
alert("Tiene que escribir su correo electronico")
document.fvalida.correo.focus()
return 0;
}
//valido el telefono
if (document.fvalida.telefono.value.length==0){
alert("Tiene que escribir su telefono")
document.fvalida.telefono.focus()
return 0;
}
//valido el numero de personas
if (document.fvalida.personas.value.length==0){
alert("Tiene que escribir el numero de personas")
document.fvalida.personas.focus()
return 0;
}
//valido la hora
if (document.fvalida.hora.value.length==0){
alert("Tiene que escribir la hora de la eventos")
document.fvalida.hora.focus()
return 0;
}
//valido la fecha
if (document.fvalida.fecha.value.length==0){
alert("Tiene que escribir la fecha de la eventos")
document.fvalida.fecha.focus()
return 0;
}
//el formulario se envia
alert("Muchas gracias por su peticion.Nos pondremos en contacto con usted para confirmar su evento.");
document.fvalida.submit();
}
</script>
</head>
<p style="text-align: center;"><font color="#ffff66"><strong>Formulario
de eventos.</strong></font> <strong> </strong></p>

<p style="text-align: center;"><strong><font color="#ffff66">Tel&eacute;fono </font></strong><font color="#ffff66"><strong>de eventos </strong></font><strong><font color="#ffff66">91-9844577841.</font></strong></p>

<div style="text-align: center;"><strong><font color="#ffff66">El horario de apertura es de lunes a sábado.</font></strong>&nbsp;<font color="#ffff66"><strong></strong>&nbsp;</font></div>


<form name="fvalida" method="post" enctype="multipart/form-data" action="enviar1.php" onsumit="javascript:return validar();">
<div style="text-align: right;">
</div>

<table style="text-align: left; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: right;"><font color="#ffff66"><span style="font-weight: bold;">A&ntilde;o actual:</span> </td>
<td><input name="edad" size="3" maxlength="4" type="text"><strong>REQUERIDO</strong></td>
</tr>
<tr>

<td style="text-align: right;"><font color="#ffff66"><span style="font-weight: bold;">Nombre:</span> </td>
<td><input name="nombre" size="30" maxlength="100" type="text"><strong>REQUERIDO</strong></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Apellidos:</td>
<td><input name="apellidos"><strong>REQUERIDO</strong></td>

</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Correo:</td>
<td><input name="correo" value=""><strong>REQUERIDO</strong></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Teléfono:
<td><input name="telefono"><strong>REQUERIDO</strong></td>

</tr>
<td style="text-align: right;"><strong><font color="#ffff66">N&uacute;mero de personas:</font></td>

<td>
<select size="1" name="personas">
<option value="" selected="selected"> </option>
<option value="1">1 </option>
<option value="2">2 </option>

<option value="3">3 </option>

<option value="4">4 </option>
<option value="5">5 </option>
<option value="6">6 </option>
<option value="7">7 </option>
<option value="8">8 </option>

<option value="9">9 </option>

<option value="10">10 </option>
<option value="Grupo">Grupo de personas</option>
<option value="Pide presupuesto">Solicitar presupuesto para grupos</option>
</select>
<strong>REQUERIDO</strong></td>

</td>

</tr>

<tr valign="top">

<td style="text-align: right;"><strong><font color="#ffff66">Hora de la eventos (hh:mm)</strong></td>

<td> <input value="" name="hora" type="text"><strong>REQUERIDO</strong></td>

</tr>

<tr valign="top">

<td style="text-align: right;"><strong><font color="#ffff66">Fecha (dd/mm/aaaa)</font></strong></td>

<td> <input value="" name="fecha" type="text"><strong>REQUERIDO</strong></td>

</tr>

<tr>
<td style="font-weight: bold; text-align: right;"><b><font color="#ffff66">Comentarios</td>
<br><td style="text-align: center;"><br><textarea cols="20" rows="5" name="comentarios"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><input value="Envio" onclick="valida_envia()" type="button"><input type="reset" value="Borrar"></td>
</tr>
</tbody>

</table>
</form>
</body>
</html>

Última edición por nightduke; 05/12/2008 a las 06:53
  #6 (permalink)  
Antiguo 13/12/2008, 06:18
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: verificacion de año

¿Alguien me puede ayudar?

Gracias
  #7 (permalink)  
Antiguo 13/12/2008, 07:01
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 7 meses
Puntos: 834
Respuesta: verificacion de año

Hay varias cosas raras. Por ejemplo, pareciera que querés validar con el evento onsubmit del formulario pero usás un botón que no es del tipo submit que dispara onclick la validación (el nombre del evento aplicado a form está mal escrito, dice onsumit, sin la b; y es redundante escribir javascript: delante). Pero lo más raro de todo es que quieras validar un campo que debe (si entendí bien) llevar un valor único. Si esto es como lo entendí, ese campo debería ser oculto o no editable.
Aquí cambié unas pocas cosas para que funcione sólo si escriben el mismo año que el año actual (era eso lo que querías?)
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<
head>
<
meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<
title></title>
<
body style="background-color: rgb(0, 102, 51);">

<
script>

function 
validarEntero(valor){
//intento convertir a entero.
//si era un entero no le afecta, si no lo era lo intenta convertir
valor parseInt(valor)

//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es numero) devuelvo el valor cadena vacia
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}

function 
valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 
false;
}

//valido el año. tiene que ser 2008 o menor
edad document.fvalida.edad.value
edad 
validarEntero(edad)
document.fvalida.edad.value=edad
if (edad==""){
alert("Tiene que introducir el año actual.")
document.fvalida.edad.focus()
return 
false;
}else{
var 
test=new Date();
if (
edad !=test.getFullYear()){
alert("El año debe ser "+test.getFullYear())
document.fvalida.edad.focus()
return 
false;
}
}

//valido el apellidos
if (document.fvalida.apellidos.value.length==0){
alert("Tiene que escribir su apellidos")
document.fvalida.apellidos.focus()
return 
false;
}

//valido el correo
if (document.fvalida.correo.value.length==0){
alert("Tiene que escribir su correo electronico")
document.fvalida.correo.focus()
return 
false;
}
//valido el telefono
if (document.fvalida.telefono.value.length==0){
alert("Tiene que escribir su telefono")
document.fvalida.telefono.focus()
return 
false;
}
//valido el numero de personas
if (document.fvalida.personas.value.length==0){
alert("Tiene que escribir el numero de personas")
document.fvalida.personas.focus()
return 
false;
}
//valido la hora
if (document.fvalida.hora.value.length==0){
alert("Tiene que escribir la hora de la eventos")
document.fvalida.hora.focus()
return 
false;
}
//valido la fecha
if (document.fvalida.fecha.value.length==0){
alert("Tiene que escribir la fecha de la eventos")
document.fvalida.fecha.focus()
return 
false;
}
//el formulario se envia
alert("Muchas gracias por su peticion.Nos pondremos en contacto con usted para confirmar su evento.");
return 
true;
}
</script>
</head>
<p style="text-align: center;"><font color="#ffff66"><strong>Formulario
de eventos.</strong></font> <strong> </strong></p>

<p style="text-align: center;"><strong><font color="#ffff66">Tel&eacute;fono </font></strong><font color="#ffff66"><strong>de eventos </strong></font><strong><font color="#ffff66">91-9844577841.</font></strong></p>

<div style="text-align: center;"><strong><font color="#ffff66">El horario de apertura es de lunes a sábado.</font></strong>&nbsp;<font color="#ffff66"><strong></strong>&nbsp;</font></div>


<form name="fvalida" method="post" enctype="multipart/form-data" action="enviar1.php" onsubmit="return valida_envia();">
<div style="text-align: right;">
</div>

<table style="text-align: left; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: right;"><font color="#ffff66"><span style="font-weight: bold;">A&ntilde;o actual:</span> </td>
<td><input name="edad" size="3" maxlength="4" type="text"><strong>REQUERIDO</strong></td>
</tr>
<tr>

<td style="text-align: right;"><font color="#ffff66"><span style="font-weight: bold;">Nombre:</span> </td>
<td><input name="nombre" size="30" maxlength="100" type="text"><strong>REQUERIDO</strong></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Apellidos:</td>
<td><input name="apellidos"><strong>REQUERIDO</strong></td>

</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Correo:</td>
<td><input name="correo" value=""><strong>REQUERIDO</strong></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Teléfono:
<td><input name="telefono"><strong>REQUERIDO</strong></td>

</tr>
<td style="text-align: right;"><strong><font color="#ffff66">N&uacute;mero de personas:</font></td>

<td>
<select size="1" name="personas">
<option value="" selected="selected"> </option>
<option value="1">1 </option>
<option value="2">2 </option>

<option value="3">3 </option>

<option value="4">4 </option>
<option value="5">5 </option>
<option value="6">6 </option>
<option value="7">7 </option>
<option value="8">8 </option>

<option value="9">9 </option>

<option value="10">10 </option>
<option value="Grupo">Grupo de personas</option>
<option value="Pide presupuesto">Solicitar presupuesto para grupos</option>
</select>
<strong>REQUERIDO</strong></td>

</td>

</tr>

<tr valign="top">

<td style="text-align: right;"><strong><font color="#ffff66">Hora de la eventos (hh:mm)</strong></td>

<td> <input value="" name="hora" type="text"><strong>REQUERIDO</strong></td>

</tr>

<tr valign="top">

<td style="text-align: right;"><strong><font color="#ffff66">Fecha (dd/mm/aaaa)</font></strong></td>

<td> <input value="" name="fecha" type="text"><strong>REQUERIDO</strong></td>

</tr>

<tr>
<td style="font-weight: bold; text-align: right;"><b><font color="#ffff66">Comentarios</td>
<br><td style="text-align: center;"><br><textarea cols="20" rows="5" name="comentarios"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><input name="Enviar" type="submit" value="Envio">
<input type="reset" value="Borrar"></td>
</tr>
</tbody>

</table>
</form>
</body>
</html> 
  #8 (permalink)  
Antiguo 13/12/2008, 07:04
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: verificacion de año

Hola

Prueba así

Código javascript:
Ver original
  1. if (edad !=2008)

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 16/12/2008, 05:52
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: verificacion de año

Muchas gracias me funciono perfectamente.
  #10 (permalink)  
Antiguo 16/12/2008, 06:01
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: verificacion de año

Ya he cambiado onsumit por onsubmit.Gracias.
¿Porque es redundante escribir javascript delante?No entiendo lo siento.

Lo del campo del año es una especia de captcha, se me habia ocurrido poner el año para que asi la gente entienda mejor el concepto de captcha, lo de poner un recuadro que ponga una imagen que se genera x texto y que luego lo tengan que poner, la gente se pierde, no entiende que hay que ponerlo en mayusculas o en minusculas.etc...

Me ha funcionado con if (edad !=2008)

Mucha gracias


Cita:
Iniciado por Panino5001 Ver Mensaje
Hay varias cosas raras. Por ejemplo, pareciera que querés validar con el evento onsubmit del formulario pero usás un botón que no es del tipo submit que dispara onclick la validación (el nombre del evento aplicado a form está mal escrito, dice onsumit, sin la b; y es redundante escribir javascript: delante). Pero lo más raro de todo es que quieras validar un campo que debe (si entendí bien) llevar un valor único. Si esto es como lo entendí, ese campo debería ser oculto o no editable.
Aquí cambié unas pocas cosas para que funcione sólo si escriben el mismo año que el año actual (era eso lo que querías?)
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<
head>
<
meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<
title></title>
<
body style="background-color: rgb(0, 102, 51);">

<
script>

function 
validarEntero(valor){
//intento convertir a entero.
//si era un entero no le afecta, si no lo era lo intenta convertir
valor parseInt(valor)

//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es numero) devuelvo el valor cadena vacia
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}

function 
valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 
false;
}

//valido el año. tiene que ser 2008 o menor
edad document.fvalida.edad.value
edad 
validarEntero(edad)
document.fvalida.edad.value=edad
if (edad==""){
alert("Tiene que introducir el año actual.")
document.fvalida.edad.focus()
return 
false;
}else{
var 
test=new Date();
if (
edad !=test.getFullYear()){
alert("El año debe ser "+test.getFullYear())
document.fvalida.edad.focus()
return 
false;
}
}

//valido el apellidos
if (document.fvalida.apellidos.value.length==0){
alert("Tiene que escribir su apellidos")
document.fvalida.apellidos.focus()
return 
false;
}

//valido el correo
if (document.fvalida.correo.value.length==0){
alert("Tiene que escribir su correo electronico")
document.fvalida.correo.focus()
return 
false;
}
//valido el telefono
if (document.fvalida.telefono.value.length==0){
alert("Tiene que escribir su telefono")
document.fvalida.telefono.focus()
return 
false;
}
//valido el numero de personas
if (document.fvalida.personas.value.length==0){
alert("Tiene que escribir el numero de personas")
document.fvalida.personas.focus()
return 
false;
}
//valido la hora
if (document.fvalida.hora.value.length==0){
alert("Tiene que escribir la hora de la eventos")
document.fvalida.hora.focus()
return 
false;
}
//valido la fecha
if (document.fvalida.fecha.value.length==0){
alert("Tiene que escribir la fecha de la eventos")
document.fvalida.fecha.focus()
return 
false;
}
//el formulario se envia
alert("Muchas gracias por su peticion.Nos pondremos en contacto con usted para confirmar su evento.");
return 
true;
}
</script>
</head>
<p style="text-align: center;"><font color="#ffff66"><strong>Formulario
de eventos.</strong></font> <strong> </strong></p>

<p style="text-align: center;"><strong><font color="#ffff66">Tel&eacute;fono </font></strong><font color="#ffff66"><strong>de eventos </strong></font><strong><font color="#ffff66">91-9844577841.</font></strong></p>

<div style="text-align: center;"><strong><font color="#ffff66">El horario de apertura es de lunes a sábado.</font></strong>&nbsp;<font color="#ffff66"><strong></strong>&nbsp;</font></div>


<form name="fvalida" method="post" enctype="multipart/form-data" action="enviar1.php" onsubmit="return valida_envia();">
<div style="text-align: right;">
</div>

<table style="text-align: left; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: right;"><font color="#ffff66"><span style="font-weight: bold;">A&ntilde;o actual:</span> </td>
<td><input name="edad" size="3" maxlength="4" type="text"><strong>REQUERIDO</strong></td>
</tr>
<tr>

<td style="text-align: right;"><font color="#ffff66"><span style="font-weight: bold;">Nombre:</span> </td>
<td><input name="nombre" size="30" maxlength="100" type="text"><strong>REQUERIDO</strong></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Apellidos:</td>
<td><input name="apellidos"><strong>REQUERIDO</strong></td>

</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Correo:</td>
<td><input name="correo" value=""><strong>REQUERIDO</strong></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;"><font color="#ffff66">Teléfono:
<td><input name="telefono"><strong>REQUERIDO</strong></td>

</tr>
<td style="text-align: right;"><strong><font color="#ffff66">N&uacute;mero de personas:</font></td>

<td>
<select size="1" name="personas">
<option value="" selected="selected"> </option>
<option value="1">1 </option>
<option value="2">2 </option>

<option value="3">3 </option>

<option value="4">4 </option>
<option value="5">5 </option>
<option value="6">6 </option>
<option value="7">7 </option>
<option value="8">8 </option>

<option value="9">9 </option>

<option value="10">10 </option>
<option value="Grupo">Grupo de personas</option>
<option value="Pide presupuesto">Solicitar presupuesto para grupos</option>
</select>
<strong>REQUERIDO</strong></td>

</td>

</tr>

<tr valign="top">

<td style="text-align: right;"><strong><font color="#ffff66">Hora de la eventos (hh:mm)</strong></td>

<td> <input value="" name="hora" type="text"><strong>REQUERIDO</strong></td>

</tr>

<tr valign="top">

<td style="text-align: right;"><strong><font color="#ffff66">Fecha (dd/mm/aaaa)</font></strong></td>

<td> <input value="" name="fecha" type="text"><strong>REQUERIDO</strong></td>

</tr>

<tr>
<td style="font-weight: bold; text-align: right;"><b><font color="#ffff66">Comentarios</td>
<br><td style="text-align: center;"><br><textarea cols="20" rows="5" name="comentarios"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><input name="Enviar" type="submit" value="Envio">
<input type="reset" value="Borrar"></td>
</tr>
</tbody>

</table>
</form>
</body>
</html> 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:33.