Foros del Web » Programando para Internet » Javascript »

script de campos obligatorios

Estas en el tema de script de campos obligatorios en el foro de Javascript en Foros del Web. hola a todos estoy tratando de hacer un formulario con campos obligatorios me baje varios ejemplos de internet y bueno la verdad es que ninguno ...
  #1 (permalink)  
Antiguo 23/09/2010, 16:30
Avatar de Weslyghost  
Fecha de Ingreso: septiembre-2010
Ubicación: Arequipa - Peru
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
script de campos obligatorios

hola a todos estoy tratando de hacer un formulario con campos obligatorios me baje varios ejemplos de internet y bueno la verdad es que ninguno me corre y me quede con este, aqui se los dejo para que lo vean.

Código:
<!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">
<head>
<title>Registro de Lista</title>
<script language="javascript" type="text/javascript">
function ValidarEnvio()
{
var mensaje = "";
var frm = document.formContactos;

if(frm.nombre.value=="")//aqui va el nombre del campo input con el name="nombre"
{
mensaje += " > Debes ingresar tu Nombre.\n";
}
if(frm.apellido.value=="")//aqui va el nombre del campo input con el name="apellido"
{
mensaje += " > Debes ingresar tu Apellido.\n";
}

if(isNaN(parseInt(frm.dni.value))) //le decimos que introduzca solo numeros en el campo name="dni"
{
mensaje += " > Debes ingresar su DNI. Debe contener numeros\n";
}

if (frm.mail.value.indexOf("@")<3)// le decimo que debe ingresas un mail verdadero en el campo name="email"
{
mensaje += " > Debes ingresar un email valido para contactarte.\n";
}


if(mensaje!="")
{
alert("No se puede enviar el mensaje debido a que: \n"+mensaje);
return false;
}else{
return true;
}
}
</script>
</head>
<body bgcolor="#000000">
<div style="background: url('discoteca.jpg') repeat scroll 0% 0% transparent" align="center"><font color="#ffffff"></font>
<h2><font color="#ffffff" face="tahoma">Registrate y entra gratis todos los viernes*</font></h2><br />
<form method="GET" action="insertar.php" name="formContactos" onsubmit="return ValidarEnvio();"><font color="#ffffff"><strong>Nombre</strong>&nbsp;&nbsp;<input name="nombre" type="text" /><br />
<strong>Apellido</strong>&nbsp;&nbsp;<input name="apellido" type="text" /><br />
<strong>DNI</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="dni" maxlength="8" type="text" /><br />
<strong>E-mail</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="email" type="text" /><br />
<br /><input value="Registrar" name="submit" type="submit" /></font></form><br />
<strong><font color="#ffffff" size="2px" face="arial black">*PREVIA PRESENTACION DE DNI</font></strong></div>
</body>
</html>
  #2 (permalink)  
Antiguo 24/09/2010, 01:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: script de campos obligatorios

Hola:

El ejemplo parece estar bien (no lo chequeé, pero la parte teórica está bien), yo suelo hacer algo parecido, pero en vez de una cadena para el mensaje uso un array... vacío al principio y si termina vacío pasa la validación... en el mensaje es donde mejoramos, ya que con join de los arrays evitamos el último retorno de carro... y los nuevos mensajes los añadimos con push...

¿Cuál es la pregunta ?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/09/2010, 09:59
Avatar de Weslyghost  
Fecha de Ingreso: septiembre-2010
Ubicación: Arequipa - Peru
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: script de campos obligatorios

bueno la pregunta es que hacer para que funcione, porque igual no pongo nada y el formulario lo acepta y lo ingresa.
  #4 (permalink)  
Antiguo 24/09/2010, 10:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: script de campos obligatorios

Hola:

Averigua si hay algún error mirando en la consola de errores de tu navegador (si es ie tal vez no te sirva, pero puedes instalar alguno que lo tenga...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 24/09/2010, 13:00
Avatar de Weslyghost  
Fecha de Ingreso: septiembre-2010
Ubicación: Arequipa - Peru
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: script de campos obligatorios

ok... i did it
antes de mandar el formulario vi la consola y vi que salia este error
Código:
Error: ValidarEnvio is not defined
Archivo Fuente: javascript:%20ValidarEnvio()
Línea: 1
luego de intentar enviar el form salio esto

Código:
Error: frm.mail is undefined
Archivo Fuente: http://www.pagina.com/insertar.html
Línea: 26
no soy un experto en el tema mmmmmmm ya que el code esta arriba cual seria el problema?
  #6 (permalink)  
Antiguo 24/09/2010, 13:19
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: script de campos obligatorios

Hola

El nombre del campo es email

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;" />
  #7 (permalink)  
Antiguo 24/09/2010, 13:33
Avatar de Weslyghost  
Fecha de Ingreso: septiembre-2010
Ubicación: Arequipa - Peru
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: script de campos obligatorios

gracias Adler ya funciona... ahora si no es mucha molestia en el campo email ocea si reconoce la "@" pero y si quiero que tambien reconosca el "."(punto) del email como haria? y tambien que en el campo dni ingrese solo 8 numeros que no este permitido ni mas ni menos que 8 numeros
  #8 (permalink)  
Antiguo 24/09/2010, 13:37
 
Fecha de Ingreso: octubre-2003
Ubicación: lima
Mensajes: 57
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: script de campos obligatorios

Bueno yo hice una funcion, para validar los imput con caracteres a ver mira si te sirve.

Código:
function jva006(inp000,n){
// permite que inp000 que un input sea solo numeros
  var var000 = document.getElementById(inp000).value;
  var prb000 = /^[0-9]{1,3}?$/; //Permite solo numero para numero de articulos n = 0.
  var prb001 = /^[0-9]{1,4}(\.[0-9]{0,2})?$/; //Formato de numero 4 digitos con 2 decimales. n = 1
  var prb002 = /^[0-9]{1,2}(\.[0-9]{0,3})?$/; //Formato de numero 3 digitos con 3 decimales. n = 2
  var prb003 = /^[0-4](\.[0-9]{0,3})?$/; //Formato de numero 1 digitos con 3 decimales para paquetes de aduanas. n=3
  var prb004 = /^[12][90][0-9][0-9]\-[01][0-9]\-[0-3][0-9]$/; //Formato de fecha ####-##-## (aaaa-mm-dd) n = 4
  var prb005 = /^[A-Za-záéíóúü]?///Solo acepta letras, acentos y ü
  switch(n){
    case 0:
      if(prb000.test(var000)) m=0; else m=1;
      break;
    case 1:
      if(prb001.test(var000)) m=0; else m=1;
    break;
    case 2:
      if(prb002.test(var000)) m=0; else m=1;
    break;
    case 3:
      if(prb003.test(var000)) m=0; else m=1;
    break;
    case 4:
      if(prb004.test(var000)) m=0; else m=1; 
    break;
    case 4:
	if(prb005.test(var000)) m=0; else m=1; 
    break;
  }
  if (m==0) return true;
  else {
    alert("Concentrate, calmate ¡TE HAS EQUIVOCADO!");
    document.getElementById(inp000).select();
    document.getElementById(inp000).focus();
    return false;
  }
}
y al crear un input le pongo onchange="jva006(nombre,tipodevalidacion)"
aver que opinas... ?¿
__________________
GUMER FERNANDEZ HUATUCO
--------------------------------------
Solo hay un dio$
  #9 (permalink)  
Antiguo 24/09/2010, 13:43
Avatar de Weslyghost  
Fecha de Ingreso: septiembre-2010
Ubicación: Arequipa - Peru
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: script de campos obligatorios

mmmmmmmmmmmm bueno como ya lo dije antes no soy un experto en el tema... ocea cambio mi codigo por tu codigo?
  #10 (permalink)  
Antiguo 24/09/2010, 13:51
 
Fecha de Ingreso: octubre-2003
Ubicación: lima
Mensajes: 57
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: script de campos obligatorios

NO NO ... .mi codigo es una funcion de validación....
Es para que lo chequees, haber si te sale nuevas ideas... ?¿
sea inp000 el nombre de un input tipo tex que quieres que sea solo numero usas esta comparación:
var prb000 = /^[0-9]{1,3}?$/; //Permite solo numero para numero de articulos n = 0
entonces preguntas
inp000.testtest(var000);
Eso te hace la validación.
__________________
GUMER FERNANDEZ HUATUCO
--------------------------------------
Solo hay un dio$
  #11 (permalink)  
Antiguo 24/09/2010, 14:47
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: script de campos obligatorios

Hola

@gumer intenta decirte que uses expresiones regulares. Algunas de las que te ofrece, con algún retoque, puede ayudarte a hacer una mejor y mas sencilla validación. Una expresión regular sencilla para validar un campo email, podría ser esta
Cita:
(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$
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;" />
  #12 (permalink)  
Antiguo 27/09/2010, 11:33
Avatar de Weslyghost  
Fecha de Ingreso: septiembre-2010
Ubicación: Arequipa - Peru
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: script de campos obligatorios

bueno chicos la verdad nose nada de nada de javascript jeje asi que por ahora les agradezco que hicieeran funcionar el formulario, porke lo demas no sabria donde ponerlo jeje.... bueno pasando a otro tema, alguien podria ayudarme con una plantilla flash? es decir es una web pero en si como se edita totalmente, es solo necesario el Adobe flash? o kiza hay algo mas ke nose

Etiquetas: campos
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 10:29.