Foros del Web » Programando para Internet » Javascript »

que se hace primero? action o onClick?

Estas en el tema de que se hace primero? action o onClick? en el foro de Javascript en Foros del Web. Saludos!! La cuestión es sencilla, tengo un formulario con un action="procesa.php" pero en el botón de submit también tengo un evento onClick="encript();" que realiza un ...
  #1 (permalink)  
Antiguo 25/03/2007, 17:33
Avatar de RoaDRuNneR  
Fecha de Ingreso: marzo-2005
Ubicación: Xalapa
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta que se hace primero? action o onClick?

Saludos!! La cuestión es sencilla, tengo un formulario con un action="procesa.php" pero en el botón de submit también tengo un evento onClick="encript();" que realiza un proceso de encriptación con javascript utilizando md5 para enviar la contraseña encriptada a la base de datos y no haya posibilidad de que sea interceptada y descifrada por algún otro medio. Sin embargo tengo la incertidumbre con respecto al evento onClick del botón "submit" ya que no sé qué se hará primero siempre, es decir ¿en una conexión veloz podría enviarse la información primero al archivo "procesa.php" antes de que la función "encript()" transforme la contraseña? Si se diera el caso entonces el proceso podría dar diferentes resultados. Yo lo probé ayer y la primera vez me devolvía al formulario de registro (lo que me hizo dudar) aunque la segunda me lo aceptaba bien. Aunque hoy funciona a la primera (hice algunos cambios). ¿Hay algún tipo de precedencia entre el evento "onClick" y el "action"?
__________________
Biografías
  #2 (permalink)  
Antiguo 25/03/2007, 17:55
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: que se hace primero? action o onClick?

mira no se mucho pero, debes recordar que tanto onclick como submit son eventos, el boton de envio tiene implicito el efecto de hacer un submit, claro podrias hacer lo siguiente, delcara el boton en ves de submit ponle button,
y al boton asociale el evento onclick y pasale la funcion de crypt.. y ya al final de la funcion ponle el evento submit. asi al darle click al enviar, encriptaras primer y despues hara el submit..

aun asi, no se mucho del tema, pero ahi tienes esa solucion... saludos.!!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #3 (permalink)  
Antiguo 25/03/2007, 18:12
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: que se hace primero? action o onClick?

Yo lo uso asi:

<form name="form" action="procesar.php" onSubmit="return encript()">


Lo unico, creo que esto funciona independientemente si tenes javascript habilitado o no, es decir, si lo tenes habilitado... al tocar el boton de submit se ejecuta la funcion y si esta devuelve true, el formulario se envia. Si tenes javascript deshabilitado... el formulario se envia pasando por alto la funcion encript.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #4 (permalink)  
Antiguo 25/03/2007, 23:33
Avatar de RoaDRuNneR  
Fecha de Ingreso: marzo-2005
Ubicación: Xalapa
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: que se hace primero? action o onClick?

Gracias por las respuestas, me han sido muy útiles, sin embargo, ahora tengo una duda respecto a lo del javascript. Suponiendo que utilice la opción de Fridureiks entonces cuando el usuario no tenga habilitado javascript la contraseña se almacenará sin encriptar, y si ese usuario entra desde otro sitio donde si esté habilitado, su contraseña no será la misma (puesto que en la base de datos estará sin encriptar, y el login la envía también encriptada). ¿Cuál es la mejor manera para manejar las contraseñas? Porque en un entorno no seguro, otra persona podría ver el envío de contraseñas, por lo que decidí encriptarlas con un javascript, pero aparece el problema planteado. La otra opción es encriptar la contraseña en el script php. ¿Entonces? ¿Cuál es la mejor manera de abordar esto?
__________________
Biografías
  #5 (permalink)  
Antiguo 25/03/2007, 23:42
Avatar de RoaDRuNneR  
Fecha de Ingreso: marzo-2005
Ubicación: Xalapa
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: que se hace primero? action o onClick?

Aunque también podría poner una validación para que el usuario no pudiera registrarse a menos que tuviera javascript habilitado (Que son los más). Pero también se trata de sacar la máxima conveniencia. Soy de los que no me gusta que me digan que tal sitio sólo se ve en 800 x 600 y cosas así... aunque javascript deshabilitado rara vez lo uso. ¿Qué opinan?
__________________
Biografías
  #6 (permalink)  
Antiguo 25/03/2007, 23:53
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: que se hace primero? action o onClick?

Yo creo que lo mejor seria encriptar la contraseña en el archivo php, si quieres usar js, usalo, pero no te confies de el..
__________________
Sin Ideas
  #7 (permalink)  
Antiguo 26/03/2007, 07:17
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: que se hace primero? action o onClick?

PHP tiene funciones para encriptar ;)

md5
crypt


Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #8 (permalink)  
Antiguo 26/03/2007, 12:20
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: que se hace primero? action o onClick?

El evento siempre se ejecutará primero cuando mandas un formulario, javascript tiene preferencia por ser un lenguaje de cliente y no hacer peticiones al servidor. Pero te recomiendo el uso de
Código PHP:
<form name="form" action="procesar.php" onSubmit="return encript()"
como te ha dicho Fridureiks.

Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 02:17.