En primer lugar tenes algunos errores en la script
En la linea 16 haces una comparación pero te falta el 2º elemento
if (edad==){
además esa comparación no tiene mayor sentido, ya que con la función validaEntero() ya tenés resuelto eso
En la linea 48, tenes una comilla invertida extraña.
Ahora, te simplifico la función para chequear que es un numero
Código Javascript
:
Ver originalfunction validarEntero(input){
return !isNaN(input)&&parseInt(input)==input;
}
El código completo quedaría asi
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
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 la edad. tiene que ser entero mayor que 18
var edad = document.fvalida.edad.value
if(validarEntero(edad)){
if(edad < 18){
alert("Debe ser mayor de 18 años.") ;
document.fvalida.edad.focus();
return false;
}
} else{
alert("Debe ingresar un número");
document.fvalida.edad.focus();
return false;
}
//valido el interés
if (document.fvalida.interes.selectedIndex==0){
alert("Debe seleccionar un motivo de su contacto.")
document.fvalida.interes.focus()
return 0;
}
//el formulario se envia
alert("Muchas gracias por enviar el formulario");
document.fvalida.submit();
}
function validarEntero(input){
return !isNaN(input)&&parseInt(input)==input;
}
//]]>
<form name="fvalida" id="fvalida"> <td><input type="text" name="nombre" size="30" maxlength="100" /></td>
<td><input type="text" name="edad" size="3" maxlength="2" /></td> <option value="Proveedores">Contacto de proveedores
</option>
<td colspan="2" align="center"><input type="button" value="Enviar" onclick="valida_envia()" /></td>
Saludos