Foros del Web » Programando para Internet » Javascript »

Form: Envio y borrado

Estas en el tema de Form: Envio y borrado en el foro de Javascript en Foros del Web. Hola a todos. He estado mirando por el foro y no he sabido encontrar mi respuesta por lo que me he decidido a escribir. El ...
  #1 (permalink)  
Antiguo 19/09/2004, 06:02
Avatar de iv19an  
Fecha de Ingreso: septiembre-2004
Mensajes: 44
Antigüedad: 19 años, 7 meses
Puntos: 0
Form: Envio y borrado

Hola a todos.

He estado mirando por el foro y no he sabido encontrar mi respuesta por lo que me he decidido a escribir.

El caso es que tengo un form donde kiero que controlar si me entran varios campos. Si em entran todos los campos luego me redireccione a una pagina envia.asp, desde donde se me enviara el email.
En el caso que no me entren los campos necesarios que me salga una alerta dicienedomelo y que al darle a OK vuelva al form. Esto ultimo es lo que nome sale, yo al darle al OK se me cierra la ventana del form.

Este caso esta hecho solo para un campo. Si quiero controlar 8 campos, tengo que poner if anidados o como se hace??
A continuacion os pongo el codigo a ver si alguien me puede ayudar.
Gracias de antemano.


<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulaire)
{
if(formulaire.Empresa.value == "")
alert('No has entrado los campos necesarios!');
else
formulaire.submit();
}

</SCRIPT>


<input type="submit" value=" Enviar " onClick="verifForm(this.form);this.form.action='en via.asp'"/>
  #2 (permalink)  
Antiguo 19/09/2004, 08:22
 
Fecha de Ingreso: abril-2004
Mensajes: 29
Antigüedad: 20 años
Puntos: 0
tal vez te ayude

Tal vez este script te ayude
<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.Domicilio.value == "")
{ alert("Por favor ingrese su domicilio"); form.Domicilio.focus(); return; }

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

if (form.Empresa.value == "")
{ alert("Por favor ingrese el nombre de su empresa"); form.Empresa.focus(); return; }

if (form.NumeroTarjeta.value == "")
{ alert("Por favor ingrese los números de su tarjeta de crédito"); form.NumeroTarjeta.focus(); return; }

if (form.Codigo.value == "")
{ alert("Por favor ingrese el código de su tarjeta de crédito"); form.Codigo.focus(); return; }

if (form.NombreTitular.value == "")
{ alert("Por favor indique el nombre del titular de la tarjeta de crédito"); form.NombreTitular.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>


valida campo por campo incluyendo email.
tambien creo que se puede hacer un if con varias condiciones separados por | , creo que seria algo así

if (form.nombre.value == ""|form.direccion.value=="")


si no es así que por favor alguien me corrija.

saludos
  #3 (permalink)  
Antiguo 19/09/2004, 08:31
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
Lo que tienes que hacer es lo siguiente validas campo por campo y si todos estan llenos envias el formulario asi:

Código HTML:
<script>
function valida_campos(){
   if(document.formulaire.Empresa.value == ""){
      alert("Te falta llenar el campo empresa");
      document.formulaire.Empresa.focus();//colocamos el cursor en el campo que falta por llenar.
      return;
   }
   if(document.formulaire.otro_campo.value == ""){
      alert("Te falta llenar el campo otro_campo");
      document.formulaire.otro_campo.focus();//colocamos el cursor en el campo que falta por llenar.
      return;
   }
   //si ningun if se cumple envias el formulario.
   document.formulaire.submit();
}
</script> 
espero te sirva

SALUDOS

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #4 (permalink)  
Antiguo 19/09/2004, 08:35
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
otra cosa, para mandar llamar ala funcion coloca un boton y mandala llamar asi

<input type="bottom" onClick="valida_campos()" value="Enviar">

y el action colocalo en tu form asi:

<form action="envia.asp">

lo que pasa es que tu boton era de tipo submit y por eso te lo enviaba sin hacerle caso a la funcion.

SALUDOS
__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #5 (permalink)  
Antiguo 19/09/2004, 09:46
Avatar de iv19an  
Fecha de Ingreso: septiembre-2004
Mensajes: 44
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias por las dos respuestas.

Primero he probado el metodo de axy108 perosin exito. El caso es que ahora si que me detecta si falta algo pero a la hora de enviar e redireccionar hacia el envia.asp no lo hace.

Te escribo el codigo script:

<SCRIPT LANGUAGE="JavaScript">
function valida_campos(){
{
if(document.Empresa.value == ""){
alert('No has entrado los campos necesarios!');
document.Empresa.focus();
return;
}else{
if(document.NIF.value == ""){
alert('No has entrado los campos necesarios!');
document.NIF.focus();
return;
}else{
if(document.Personacontacto.value == ""){
alert('No has entrado los campos necesarios!');
document.Personacontacto.focus();
return;
}else{
if(document.Email.value == ""){
alert('No has entrado los campos necesarios!');
document.Email.focus();
return;
}else{
if(document.Telefono.value == ""){
alert('No has entrado los campos necesarios!');
document.Telefono.focus();
return;
}else{
if(document.Direccion.value == ""){
alert('No has entrado los campos necesarios!');
document.Direccion.focus();
return;
}else{
if(document.CP.value == ""){
alert('No has entrado los campos necesarios!');
document.CP.focus();
return;
}else{
if(document.Poblacion.value == ""){
alert('No has entrado los campos necesarios!');
document.Poblacion.focus();
return;
}else{
if(document.Provinica.value == ""){
alert('No has entrado los campos necesarios!');
document.Provincia.focus();
return;
}else{
if(document.Profesion.value == " "){
alert('No has entrado los campos necesarios!');
document.Profesion.focus();
return;
}else{
if(document.Producto.value == " "){
alert('No has entrado los campos necesarios!');
document.Producto.focus();
return;
}else{
document.submit();
}}}}}}}}}}}
}

</SCRIPT>

Creo que me falla en lo siguiente:

<form action="envia.asp">
Aqui en el form no deberiamos poner lo del form method="post"??

y:
<input type="button" onClick="valida_campos()" value="Enviar">

No deberia ir el texto "document" dentro del valida_campos()???
Yo digo de esta manera: <input type="button" onClick="valida_campos(document)" value="Enviar">

Lo digo pq luego lo tratas asi en el script.

A ver si me podeis ayudar.

De todas maneras muchisimas gracias.
  #6 (permalink)  
Antiguo 19/09/2004, 11:18
Avatar de iv19an  
Fecha de Ingreso: septiembre-2004
Mensajes: 44
Antigüedad: 19 años, 7 meses
Puntos: 0
Ya lo consegui
Muchas gracias.

SOlo me fallaba en lo siguiente:
<form name="fomulario" method="post" action="envia.asp">

y a parte 4 tonterias de nombres que se pasaban por el form.

Gracias
  #7 (permalink)  
Antiguo 20/09/2004, 05:51
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
Cita:
Iniciado por iv19an
else{
document.submit();
}}}}}}}}}}}
}
En esta parte hay un error porque despues del document tienes que poner el formulario que vas a enviar. asi

document.formulario_a_enviar.submit();

y ademas no son necesarios los else lo pudiste haber dejado asi:

Código HTML:
<SCRIPT LANGUAGE="JavaScript">
function valida_campos(){
if(document.Empresa.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.Empresa.focus();
   return;
}
if(document.NIF.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.NIF.focus();
   return;
}
if(document.Personacontacto.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.Personacontacto.focus();
   return;
}
if(document.Email.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.Email.focus();
   return;
}
if(document.Telefono.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.Telefono.focus();
   return;
}
if(document.Direccion.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.Direccion.focus();
   return;
}
if(document.CP.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.CP.focus();
   return;
}
if(document.Poblacion.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.Poblacion.focus();
   return;
}
if(document.Provinica.value == ""){
   alert('No has entrado los campos necesarios!'); 
   document.Provincia.focus();
   return;
}
if(document.Profesion.value == " "){
   alert('No has entrado los campos necesarios!'); 
   document.Profesion.focus();
   return;
}
if(document.Producto.value == " "){
   alert('No has entrado los campos necesarios!'); 
   document.Producto.focus();
   return;
}
document.submit();
}

</SCRIPT> 
y de igual manera debe de jalar ya que en cada if si entra con el return regresa a la pagina.

y el document sirve para hacer referencia al documento en el que se esta trabajando por eso no lo puedes enviar como parametro en la funcion.

A parte en todas tus referencias te hace falta la referencia a el form, de esta manera:

document.nombre_del_formulario.Campo.value, etc.

Bueno esto solo es para que le entiendas mas a lo que hace.

Que bueno que te haya servido la ayuda.

SALUDOS
__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
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 14:07.