elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Problema con formulario usando onSubmit="" y .submit()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con formulario usando onSubmit="" y .submit()  (Leído 3,719 veces)
Mokonauta

Desconectado Desconectado

Mensajes: 28


Destiny decides until is desify by the fated


Ver Perfil
Problema con formulario usando onSubmit="" y .submit()
« en: 15 Agosto 2013, 03:39 am »

Buenas,

Que tal, les explico.

Tengo un formulario que en "onSubmit" le pide a la funcion JS "validar()" que valide los campos y las imagenes contenidas en el formulario pero y tengo la siguiente función que mientras se estan validando los datos muestra una pantalla en gris transparentoso y una imagen de "Cargando...".

Código:
$(function(){
var pop = function(){
$('#screenBS').css({"display": "block", opacity: 0.7, "width":$(document).width(),"height":$(document).height()});
$('#boxBS').css({"display": "block"});
$('#linkBS').css({"display": "block"});
}

$('#form01').submit(pop); // ID de formulario
});

La linea donde comienza el formulario es: <form action="" method="POST" id="form01" name="form01" enctype="multipart/form-data" onSubmit="return validar()">

El problema es si en onSubmit la funcion validar() devuelve un error $('#form01').submit(pop); de todas formas se ejecuta y entonces hace el bloqueo de pantalla y no esta cargando nada en el formulario.

Como podría modificar mi código JS para que se ejecute solo si la función validar() devuelve true?
o
Podría sustituir a .submit() de otra manera como para que se muestre en el momento en que lo deseo? Digamos, por ejemplo, onReady() o algo similar?

Dejo también el código de mi función validar() y comento que ya se que solo valida que no esten vacios los campos y no el contenido de ellos, lo que pasa es que el validar los caracteres lo hago con PHP.
Código:
	function validar(){

// Primera sección de formulario
var Nombre = document.getElementById("nombre").value;
var Email = document.getElementById("email").value;
var Telefono = document.getElementById("telefono").value;
// Si el campo tiene el minimo de caracteres permitido entones continua con la
// verificacion del siguiente bloque de campos
if(!(Nombre.length < 10) && !(Email.length < 10) && !(Telefono.length < 10)){

// Segunda sección de formulario
var Modo = document.getElementById("modo").value;
var NombrePropiedad = document.getElementById("nombrePropiedad").value;
var DireccionCorta = document.getElementById("direccionCorta").value;
var Direccion = document.getElementById("direccion").value;
var Descripcion = document.getElementById("descripcion").value;
var Monto = document.getElementById("monto").value;
var Moneda = document.getElementById("moneda").value;
var TipoPropiedad = document.getElementById("tipo_propiedad").value;
var Recamaras = document.getElementById("recamaras").value;
var Bano = document.getElementById("bano").value;
var Muebles = document.getElementById("muebles").value;
var Niveles = document.getElementById("niveles").value;
var Cupo = document.getElementById("cupo").value;
// Si el campo tiene el minimo de caracteres permitido entones continua con la
// carga de las imagenes
if(Modo.length > 4 && NombrePropiedad.length > 4 && DireccionCorta.length > 5 && Direccion.length > 15 && Descripcion.length > 15 && Monto.length > 2 && Moneda.length > 2 && TipoPropiedad.length > 3 && Recamaras.length > 0 && Bano.length > 0 && Muebles.length > 0 && Niveles.length > 0 && Cupo.length > 0){

// Cuarta sección de formulario
var ImagenP = document.getElementById("imgP").value;

if(ImagenP.length > 0){

// Terminos y condiciones
var Terminos = document.getElementById("terminos").checked;

if(Terminos == 1){

return true;
}else{
alert("Para poder subir la propiedad debes aceptar que tienes autorización para publicar esta información en el sitio.");
return false;
}
}else{
alert('La última sección del formulario \"Imágenes\" debe incluir la fotografía principal de la propiedad, es la imagen que veran principalmente los usuarios, verifique e intente nuevamente.\nTodos los campos son obligatorios.');
return false;
}
}else{
alert('La segunda sección del formulario \"Datos de la Propiedad\" debe ser completada correctamente, verifique e intente nuevamente.\nTodos los campos son obligatorios.');
return false;
}
}else{
alert('La primera sección del formulario \"Datos Personales\" debe ser completada correctamente, verifique e intente nuevamente.\nTodos los campos son obligatorios.');
return false;
}

}

Agradezco mucho de antemano su tiempo.
Buena vibra desde México ;)


« Última modificación: 15 Agosto 2013, 08:56 am por Mokonauta » En línea

El destino decide hasta que es desafiado por los condenados.
Mokonauta

Desconectado Desconectado

Mensajes: 28


Destiny decides until is desify by the fated


Ver Perfil
Re: Problema con formulario usando onSubmit="" y .submit()
« Respuesta #1 en: 15 Agosto 2013, 21:35 pm »

Alguien?


En línea

El destino decide hasta que es desafiado por los condenados.
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Problema con formulario usando onSubmit="" y .submit()
« Respuesta #2 en: 18 Agosto 2013, 15:35 pm »

Usa el .submit de jquery a tu antojo y quita el onsubmit.

Por ejemplo:
Código
  1. $("#form01").submit(function(){
  2.   if (validar()===true){pop(); return true;} else {return false;}
  3. });

Citar
lo que pasa es que el validar los caracteres lo hago con PHP.
Haz lo también con javascript.. te ahorras algo de recursos del servidor.

Saludos
En línea

Mokonauta

Desconectado Desconectado

Mensajes: 28


Destiny decides until is desify by the fated


Ver Perfil
Re: Problema con formulario usando onSubmit="" y .submit()
« Respuesta #3 en: 28 Mayo 2014, 22:56 pm »

Muchas gracias amigo, apenas vi este mensaje.
Saludos
En línea

El destino decide hasta que es desafiado por los condenados.
dank_

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Problema con formulario usando onSubmit="" y .submit()
« Respuesta #4 en: 31 Mayo 2014, 07:24 am »

Usa el .submit de jquery a tu antojo y quita el onsubmit.

Por ejemplo:
Código
  1. $("#form01").submit(function(){
  2.   if (validar()===true){pop(); return true;} else {return false;}
  3. });
Haz lo también con javascript.. te ahorras algo de recursos del servidor.

Saludos

Las validaciones siempre deben realizarse en el backend, pues sólo ahí realmente validas  algo. Una validación en javascript puede ser fácilmente saltada.
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Problema con formulario usando onSubmit="" y .submit()
« Respuesta #5 en: 2 Junio 2014, 11:58 am »

dank_ si te fijas dije, también. Sabemos que puede ser salteada, pero en la mayoría de los casos es mas probable que un usuario se equivoque antes de que intente saltarse la validación. ¿Qué mejor que tener 2-3 métodos para validar y evitar enviar un request no valido ?

Saludos
En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Problema con formulario usando onSubmit="" y .submit()
« Respuesta #6 en: 2 Junio 2014, 21:27 pm »

Yo preferiria utilizar html...
http://www.w3.org/wiki/HTML5_form_additions
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
"""BUSCO EJEMPLO VB PARA ENVIAR MAILS""""
Programación Visual Basic
gera 1 6,293 Último mensaje 1 Septiembre 2005, 00:14 am
por programatrix
De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D
Diseño Gráfico
Ad0nis 2 8,285 Último mensaje 2 Septiembre 2006, 15:48 pm
por Ad0nis
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
taton 7 16,537 Último mensaje 20 Septiembre 2006, 01:45 am
por taton
Problema onsubmit formulario! [SOLUCIONADO]
Desarrollo Web
pisagatos 2 3,202 Último mensaje 27 Agosto 2010, 14:42 pm
por pisagatos
recursos visual basic, """"""proceso inmortal"""""
Análisis y Diseño de Malware
Dark4ngel 7 13,223 Último mensaje 3 Noviembre 2011, 10:42 am
por Dark4ngel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines