Foros del Web » Programando para Internet » Javascript »

Unión de código javascript para validar formulario

Estas en el tema de Unión de código javascript para validar formulario en el foro de Javascript en Foros del Web. Estimados: Tengo dos funciones para validar un solo formulario....el problema es que una de ellas trabaja con botones y no se porq' simplemente no hace ...
  #1 (permalink)  
Antiguo 08/08/2008, 08:30
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Unión de código javascript para validar formulario

Estimados:

Tengo dos funciones para validar un solo formulario....el problema es que una de ellas trabaja con botones y no se porq' simplemente no hace nada cuando pongo un input type button...y el tema es que necesito meter el segundo codigo dentro del primero, por favor iluminenme porque estoy super confundida....

1er código:

Cita:
<script>
function revisarDigito( dvr )
{
dv = dvr + ""
if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k' && dv != 'K')
{
alert("Debe ingresar un digito verificador valido");
window.document.form.rut.focus();
window.document.form.rut.select();
return false;
}
return true;
}

function revisarDigito2( crut )
{
largo = crut.length;
if ( largo < 2 )
{
alert("Debe ingresar el rut completo")
window.document.form.rut.focus();
window.document.form.rut.select();
return false;
}
if ( largo > 2 )
rut = crut.substring(0, largo - 1);
else
rut = crut.charAt(0);
dv = crut.charAt(largo-1);
revisarDigito( dv );

if ( rut == null || dv == null )
return 0

var dvr = '0'
suma = 0
mul = 2

for (i= rut.length -1 ; i >= 0; i--)
{
suma = suma + rut.charAt(i) * mul
if (mul == 7)
mul = 2
else
mul++
}
res = suma % 11
if (res==1)
dvr = 'k'
else if (res==0)
dvr = '0'
else
{
dvi = 11-res
dvr = dvi + ""
}
if ( dvr != dv.toLowerCase() )
{
alert("EL rut es incorrecto")
window.document.form.rut.focus();
window.document.form.rut.select();
return false
}

return true
}

function Rut(texto)
{
var tmpstr = "";
for ( i=0; i < texto.length ; i++ )
if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
tmpstr = tmpstr + texto.charAt(i);
texto = tmpstr;
largo = texto.length;

if ( largo < 2 )
{
alert("Debe ingresar el rut completo")
window.document.form.rut.focus();
window.document.form.rut.select();
return false;
}



for (i=0; i < largo ; i++ )
{
if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
{
alert("El valor ingresado no corresponde a un R.U.T valido");
window.document.form.rut.focus();
window.document.form.rut.select();
return false;
}
}

var invertido = "";
for ( i=(largo-1),j=0; i>=0; i--,j++ )
invertido = invertido + texto.charAt(i);
var dtexto = "";
dtexto = dtexto + invertido.charAt(0);
dtexto = dtexto + '-';
cnt = 0;

for ( i=1,j=2; i<largo; i++,j++ )
{
//alert("i=[" + i + "] j=[" + j +"]" );
if ( cnt == 3 )
{
dtexto = dtexto + '.';
j++;
dtexto = dtexto + invertido.charAt(i);
cnt = 1;
}
else
{
dtexto = dtexto + invertido.charAt(i);
cnt++;
}
}

invertido = "";
for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )
invertido = invertido + dtexto.charAt(i);

window.document.form.rut.value = invertido.toUpperCase()

if ( revisarDigito2(texto) )
return true;

return false;

}

</script>
2do codigo:

Cita:
<script LANGUAGE="JavaScript">

function Validar(form)
{
if (form.Nombre.value == "")
{ alert("Por favor ingrese su nombre"); form.Nombre.focus(); return; }

if (form.email.value == "")
{ alert("Por favor ingrese su dirección de e-mail"); form.email.focus(); return; }

if (form.telefono.value == "")
{ alert("Por favor ingrese su número de teléfono"); form.telefono.focus(); return; }

if (form.cantidad.value == "")
{ alert("Por favor ingrese la cantidad de entradas"); form.cantidad.focus(); return; }

if (form.ubicacion.value == "")
{ alert("Por favor ingrese ubicación"); form.ubicacion.focus(); return; }

if (form.edad.value == "")
{ alert("Por favor ingrese su edad"); form.edad.focus(); return; }

if (form.email.value.indexOf('@', 0) == -1 ||
form.email.value.indexOf('.', 0) == -1)
{ alert("Dirección de e-mail inválida"); form.email.focus(); return; }

form.submit();
}

</script>
En el fondo lo que necesito es unir estos codigos dentro del form....ya que si trato con un botón simplemente no hace nada.....esta es la llamada desde ahí...
Cita:
<form name="form" method="post" action="reserva.asp" onSubmit="javascript:return Rut(document.form.rut.value)">
y este es el codigo del boton que va enlazado con el codigo Nº2 y que no funciona...(no es el primer intento de utilizar botones) por lo que ahora solo utilizo "submit"...

Cita:
<input TYPE="button" VALUE="Enviar" onClick="Validar(this.form)">
Por favor ayudenmeeeeeeeeee..............!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 08/08/2008, 09:20
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Unión de código javascript para validar formulario

Resumiendo lo que necesito es validar un formulario que incluye el rut chileno dentro de sus campos...si alguien tiene un enlace o un codigo se lo agradecere eternamente...de antemano muchisimas gracias....

Karla
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 01:53.