problema con validacion de campo numerico
Publicado por miguel (1 intervención) el 16/11/2005 17:09:45
hola
Hice este formulario y lo unico que no me resulta es la validacion del campo numerico del fax
tengo este codigo para validar campos numerico,pero cuando hago click en grabar no me sale el alert con el mensaje,despues eso mismo pienso implementarlo con el telefono,pero por ahora no me resulta.
¿como arreglo mi codigo para que solo me acepte numeros en el campo fax?.
Esta es la parte que no me resulta.
********************************************************************************************************
var key=window.event.keyCode;
if(document.formulario.fax.value == "")
{
return true;
}
else
if((formulario.fax.value.key < 48)|| //codigo de tecla
(formulario.fax.value.key > 57)) {//si no es numero
window.event.keyCode=0; //anula la entrada de texto.
alert("Solo valores numericos");
return false;
}
***************************************************************************************************
tambien el return true que utilizo,es porque el campo se puede ingresar en blanco,al igual como lo tengo en el campo mail,pero si se desea ingresar el fax tiene que aceptar solo numeros,igual como lo tengo en el mail,si desea ingresar el mail,tiene que ser una direccion valida.Es decir esos campos son opcionales,pero igualmente deben tener su validacion.
gracias.
Este es el codigo completo
**********************************************************************************************************
<html>
<head>
<title>cliente-ingreso</title>
<script>
function formul()
{
var resp=dv(formulario.rut.value);
if(resp!=formulario.dig.value)
{
alert("rut incorrecto");
return false;
}
if ((document.formulario.rut.value == "") || (document.formulario.rut.value== null)) {
alert("Debe ingresar el rut");
document.formulario.rut.focus();
return false;
}
else
if ((document.formulario.dig.value == "") || (document.formulario.dig.value== null)) {
alert("Debe ingresar el digito verificador");
document.formulario.dig.focus();
return false;
}
else
if ((document.formulario.nombre.value == "") || (document.formulario.nombre.value== null)) {
alert("Debe ingresar el nombre empresa");
document.formulario.nombre.focus();
return false;
}
else
if ((document.formulario.nombre_contacto.value == "") || (document.formulario.nombre_contacto.value== null)) {
alert("Debe ingresar el nombre");
document.formulario.nombre_contacto.focus();
return false;
}
else
if ((document.formulario.apellido_contacto.value == "") || (document.formulario.apellido_contacto.value== null)) {
alert("Debe ingresar el campo apellido");
document.formulario.apellido_contacto.focus();
return false;
}
else
if ((document.formulario.cargo_contacto.value == "") || (document.formulario.cargo_contacto.value== null)) {
alert("Debe ingresar el cargo contacto");
document.formulario.cargo_contacto.focus();
return false;
}
else
if ((document.formulario.region.value == "") || (document.formulario.region.value== null)) {
alert("Debe ingresar la region");
document.formulario.region.focus();
return false;
}
else
if ((document.formulario.ciudad.value == "") || (document.formulario.ciudad.value== null)) {
alert("Debe ingresar la ciudad ");
document.formulario.ciudad.focus();
return false;
}
else
if ((document.formulario.direccion.value == "") || (document.formulario.direccion.value== null)) {
alert("Debe ingresar la direccion");
document.formulario.direccion.focus();
return false;
}
else
if ((document.formulario.telefono.value == "") || (document.formulario.telefono.value== null)) {
alert("Debe ingresar el telefono ");
document.formulario.telefono.focus();
return false;
}
else
var key=window.event.keyCode;
if(document.formulario.fax.value == "")
{
return true;
}
else
if((formulario.fax.value.key < 48)|| //codigo de tecla
(formulario.fax.value.key > 57)) {//si no es numero
window.event.keyCode=0; //anula la entrada de texto.
alert("Solo valores numericos");
return false;
}
else
if(document.formulario.mail1.value == "")
{
return true;
}
else
if((formulario.mail1.value.indexOf ('@', 0) == -1)||
(formulario.mail1.value.length < 5)) {
alert("direccion de correo invalida");
return false;
}
else
return true;
}
function dv(T)
{
var M=0,S=1;
for(;T;T=Math.floor(T/10))
S=(S+T%10*(9-M++%6))%11;
return S?S-1:'k';
}
</script>
</head>
<body>
<table align=center border=9>
<FORM name=formulario action="cliente_ingreso.php" method="POST">
<tr>
<td>
Rut:
<INPUT type="text" name="rut" size="10" maxlength="8" >-
<INPUT type="text" name="dig" size="1" maxlength="1">
</td>
</tr>
<tr>
<td>
Nombre empresa:
<INPUT type="text" name="nombre" size="20" maxlength="60">
</td>
</tr>
<tr>
<td>
Tipo cliente:
<SELECT name="tipo">
<OPTION>supermercado</OPTION>
<OPTION>mayorista</OPTION>
<OPTION>distribuidor</OPTION>
</SELECT>
</td>
</tr>
<tr>
<td>
Nombre contacto:
<INPUT type="text" name="nombre_contacto" size="20" maxlength="60">
</td>
</tr>
<tr>
<td>
Apellido contacto:
<INPUT type="text" name="apellido_contacto" size="20" maxlength="60">
</td>
</tr>
<tr>
<td>
Cargo contacto:
<INPUT type="text" name="cargo_contacto" size="15" maxlength="10">
</td>
</tr>
<tr>
<td>
Region:
<INPUT type="text" name="region" size="20" maxlength="20">
</td>
</tr>
<tr>
<td>
Ciudad:
<INPUT type="text" name="ciudad" size="20" maxlength="20">
</td>
</tr>
<tr>
<td>
Direccion:
<INPUT type="text" name="direccion" size="20" maxlength="80">
</td>
</tr>
<tr>
<td>
Telefono:
<INPUT type="text" name="telefono" size="10" maxlength="20">
</td>
</tr>
<tr>
<td>
Fax:
<INPUT type="text" name="fax" size="10" maxlength="20">
</td>
</tr>
<td>
E_mail:
<INPUT type="text" name="mail1" size="15" maxlength="30">
</td>
</tr>
<tr>
<td>
<center>
<input type="submit" value="grabar" name="Ingreso" onclick="return formul(this.formulario);return false;">
</td></tr>
</FORM>
</table>
</body>
</html>
Hice este formulario y lo unico que no me resulta es la validacion del campo numerico del fax
tengo este codigo para validar campos numerico,pero cuando hago click en grabar no me sale el alert con el mensaje,despues eso mismo pienso implementarlo con el telefono,pero por ahora no me resulta.
¿como arreglo mi codigo para que solo me acepte numeros en el campo fax?.
Esta es la parte que no me resulta.
********************************************************************************************************
var key=window.event.keyCode;
if(document.formulario.fax.value == "")
{
return true;
}
else
if((formulario.fax.value.key < 48)|| //codigo de tecla
(formulario.fax.value.key > 57)) {//si no es numero
window.event.keyCode=0; //anula la entrada de texto.
alert("Solo valores numericos");
return false;
}
***************************************************************************************************
tambien el return true que utilizo,es porque el campo se puede ingresar en blanco,al igual como lo tengo en el campo mail,pero si se desea ingresar el fax tiene que aceptar solo numeros,igual como lo tengo en el mail,si desea ingresar el mail,tiene que ser una direccion valida.Es decir esos campos son opcionales,pero igualmente deben tener su validacion.
gracias.
Este es el codigo completo
**********************************************************************************************************
<html>
<head>
<title>cliente-ingreso</title>
<script>
function formul()
{
var resp=dv(formulario.rut.value);
if(resp!=formulario.dig.value)
{
alert("rut incorrecto");
return false;
}
if ((document.formulario.rut.value == "") || (document.formulario.rut.value== null)) {
alert("Debe ingresar el rut");
document.formulario.rut.focus();
return false;
}
else
if ((document.formulario.dig.value == "") || (document.formulario.dig.value== null)) {
alert("Debe ingresar el digito verificador");
document.formulario.dig.focus();
return false;
}
else
if ((document.formulario.nombre.value == "") || (document.formulario.nombre.value== null)) {
alert("Debe ingresar el nombre empresa");
document.formulario.nombre.focus();
return false;
}
else
if ((document.formulario.nombre_contacto.value == "") || (document.formulario.nombre_contacto.value== null)) {
alert("Debe ingresar el nombre");
document.formulario.nombre_contacto.focus();
return false;
}
else
if ((document.formulario.apellido_contacto.value == "") || (document.formulario.apellido_contacto.value== null)) {
alert("Debe ingresar el campo apellido");
document.formulario.apellido_contacto.focus();
return false;
}
else
if ((document.formulario.cargo_contacto.value == "") || (document.formulario.cargo_contacto.value== null)) {
alert("Debe ingresar el cargo contacto");
document.formulario.cargo_contacto.focus();
return false;
}
else
if ((document.formulario.region.value == "") || (document.formulario.region.value== null)) {
alert("Debe ingresar la region");
document.formulario.region.focus();
return false;
}
else
if ((document.formulario.ciudad.value == "") || (document.formulario.ciudad.value== null)) {
alert("Debe ingresar la ciudad ");
document.formulario.ciudad.focus();
return false;
}
else
if ((document.formulario.direccion.value == "") || (document.formulario.direccion.value== null)) {
alert("Debe ingresar la direccion");
document.formulario.direccion.focus();
return false;
}
else
if ((document.formulario.telefono.value == "") || (document.formulario.telefono.value== null)) {
alert("Debe ingresar el telefono ");
document.formulario.telefono.focus();
return false;
}
else
var key=window.event.keyCode;
if(document.formulario.fax.value == "")
{
return true;
}
else
if((formulario.fax.value.key < 48)|| //codigo de tecla
(formulario.fax.value.key > 57)) {//si no es numero
window.event.keyCode=0; //anula la entrada de texto.
alert("Solo valores numericos");
return false;
}
else
if(document.formulario.mail1.value == "")
{
return true;
}
else
if((formulario.mail1.value.indexOf ('@', 0) == -1)||
(formulario.mail1.value.length < 5)) {
alert("direccion de correo invalida");
return false;
}
else
return true;
}
function dv(T)
{
var M=0,S=1;
for(;T;T=Math.floor(T/10))
S=(S+T%10*(9-M++%6))%11;
return S?S-1:'k';
}
</script>
</head>
<body>
<table align=center border=9>
<FORM name=formulario action="cliente_ingreso.php" method="POST">
<tr>
<td>
Rut:
<INPUT type="text" name="rut" size="10" maxlength="8" >-
<INPUT type="text" name="dig" size="1" maxlength="1">
</td>
</tr>
<tr>
<td>
Nombre empresa:
<INPUT type="text" name="nombre" size="20" maxlength="60">
</td>
</tr>
<tr>
<td>
Tipo cliente:
<SELECT name="tipo">
<OPTION>supermercado</OPTION>
<OPTION>mayorista</OPTION>
<OPTION>distribuidor</OPTION>
</SELECT>
</td>
</tr>
<tr>
<td>
Nombre contacto:
<INPUT type="text" name="nombre_contacto" size="20" maxlength="60">
</td>
</tr>
<tr>
<td>
Apellido contacto:
<INPUT type="text" name="apellido_contacto" size="20" maxlength="60">
</td>
</tr>
<tr>
<td>
Cargo contacto:
<INPUT type="text" name="cargo_contacto" size="15" maxlength="10">
</td>
</tr>
<tr>
<td>
Region:
<INPUT type="text" name="region" size="20" maxlength="20">
</td>
</tr>
<tr>
<td>
Ciudad:
<INPUT type="text" name="ciudad" size="20" maxlength="20">
</td>
</tr>
<tr>
<td>
Direccion:
<INPUT type="text" name="direccion" size="20" maxlength="80">
</td>
</tr>
<tr>
<td>
Telefono:
<INPUT type="text" name="telefono" size="10" maxlength="20">
</td>
</tr>
<tr>
<td>
Fax:
<INPUT type="text" name="fax" size="10" maxlength="20">
</td>
</tr>
<td>
E_mail:
<INPUT type="text" name="mail1" size="15" maxlength="30">
</td>
</tr>
<tr>
<td>
<center>
<input type="submit" value="grabar" name="Ingreso" onclick="return formul(this.formulario);return false;">
</td></tr>
</FORM>
</table>
</body>
</html>
Valora esta pregunta


0