Comunidad de diseño web y desarrollo en internet online

Envio de Formulario NO permitido hasta su completacion?

Citar            
MensajeEscrito el 27 Nov 2008 09:18 pm
Hola...
Mi pregunta ¿Es posible que un formulario no me muestre el boton enviar, o me lo muestre semitransparente pero inutil hasta que se haya rellenado el formulario correctamente?
Se como hacer una verificación más menos.
La idea es que se rellene y a medida que se rellena una casilla se verifica si estan todas correctas y muestra el boton.

Por otro lado, si esto no es posible. ¿Se puede hacer que al apretar el boton Submit del formulario en vez de refrescar la pagina, ejecute una función javascript que verifique y si verifica correctamente envié los datos a un Php?

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 28 Nov 2008 02:14 am
claro!

solo debes identificar tu boton (o el formulario) de manera que puedas "tomarlo" en jquery y hay 2 maneras de hacerlo

si es con el formulario usas el metodo

Código :

$("#form")submit(function(){
  if(!valida()){
     return false;
   }
});


donde en "valida" haces las validaciones necesarias, o con el boton mas o menos lo mismo pero con el metodo (o evento, como quieran) click()

Saludos!

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 28 Nov 2008 02:20 pm
Hola JaLeRu pues como afirma Prozac si puedes hacer que una vez llenos todos los campos de tu formulario sea cuando el boton "submit" se ponga enabled, realmente no tengo mucho conocimiento de jQuery pero en todo caso, para hacerlo de esa manera tendrías que utilizar Ajax...

Y también se puede solucionar el problema de la segunda manera que tu mismo propusiste, puedes revisar este codigo, interpretalo y modificalo a tu conveniencia, de verdad a mi me ha sido útil...

Pd: como siempre que he trabajado con Ajax lo he hecho manualmente (sin xajax, jquery o similares), yo me inclino por la segunda manera, es mas comoda para mi... vuelvo a recalcar, siempre he utilizado Ajax sin ayuda de ninguna libreria, sino por lo que conozco...

Saludos..! :D

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 28 Nov 2008 11:15 pm

Prozac escribió:

claro!

solo debes identificar tu boton (o el formulario) de manera que puedas "tomarlo" en jquery y hay 2 maneras de hacerlo

si es con el formulario usas el metodo

Código :

$("#form")submit(function(){
  if(!valida()){
     return false;
   }
});


donde en "valida" haces las validaciones necesarias, o con el boton mas o menos lo mismo pero con el metodo (o evento, como quieran) click()

Saludos!

En este caso si doy "Return false" ¿No se enviaría el formulario?

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 29 Nov 2008 03:31 pm
En este caso si doy "Return false" ¿No se enviaría el formulario?


Exacto!

Eso pasa con casi cualquier elemento, vamos, solo he probado enlaces y botones submit, pero asumo que es asi, cuando retornas falso en el evento evitas su comportamiento normal. y retornas true y listo se envia o se va al enlace.

PD: cuando se hacen llamadas AJAX se acostumbra a tomar el href del enlace llamarlo asincronamente y retornar false en el click del enlace, asi si esta deshabilidato javascript la aplicación seguiria funcionando.

Saludos!

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 30 Nov 2008 04:36 pm
[quote="Prozac"]

PD: cuando se hacen llamadas AJAX se acostumbra a tomar el href del enlace llamarlo asincronamente y retornar false en el click del enlace, asi si esta deshabilidato javascript la aplicación seguiria funcionando.


WUAT??? No entendí.

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 30 Nov 2008 08:59 pm
yo le pondría un onchange a los input que apunte a una funcion que compruebe si se cumple que están llenos los campos, si es así le da disabled=false, sino disabled=true.

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 02 Dic 2008 11:27 pm
jajajaja ok la nota era cultura general y no tenia que ver con tu pregunta disculpa si confundi con eso.

Joarobles, lo que planteas es valido, pero yo soy medio purista en cuanto al HTML y me gusta que no hayan eventos de ese tipo, por eso uso jquery puedo vincular los eventos sin "ensuciar" el HTML, claro eso no significa que tu alternativa no este bien, hay mil maneras de hacer las cosas.

Jaleru, la respuesta a tu pregunta es que si, si retornas false el formulario no se enviara, asi que solo debes retornar true en el evento cuando pase la validación y listo.

Si sigues teniendo dudas, ve haciendo y posteando tus progresos aqui y vamos avanzando con el codigo de una vez.

Saludos

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 03 Dic 2008 01:04 am

ero yo soy medio purista en cuanto al HTML y me gusta que no hayan eventos de ese tipo

claro, yo tmb, pero le proponia hacer un

Código :

var a = document.getElementById("elInput");
  a.onchange = function() {
    ...
    // camino 1
    return true;
    // camino 2
    return false;
  }

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 14 Ene 2009 08:16 pm
Mira yo hice un formulario simpre, lo que ando buscando de hace mucho tiempo
es, hacer un botón de envio con la funcion de envio, que al oprimirlo se envie
la informacion que se puso en los campos de texto, no quiero base de datos, nada
es solo para confirmar usuarios, pido el nombre de usuario, contraseña, correo y
el genero o sexo.

La cosa es que he intentado varias formulas y cogidos HTML, todo va bien, me crea
el boton pero no me envia los datos introducidos a mi mail. Quiero q me lleguen como
texto solamente, como cualquier correo q le manda alguien a su amigo.

Me explique bien o me enrrede mucho? xD bueno ojala hayan entendido y me ayuden
plz es lo unico q me falta. Gracias desde ya :D

Por Drogo

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.