Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No me hace submit

Estas en el tema de No me hace submit en el foro de Frameworks JS en Foros del Web. Bueno la cosa es que no me hace hace efecto el submit, al no rellenar los datos, me salenen rojo, con el class Formerr, pero ...
  #1 (permalink)  
Antiguo 14/10/2012, 21:27
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 12 años, 3 meses
Puntos: 0
No me hace submit

Bueno la cosa es que no me hace hace efecto el submit, al no rellenar los datos, me salenen rojo, con el class Formerr, pero los relleno super bien y al terminar no me da submit, osea no envia el post. ¿Alguna ayuda?

Form:
Cita:
<form method="POST" action="#" id="regForm"></div>
<label>Nombre:</label>
<input id="FirstName" style="text-align: center" autocomplete="off" placeholder="Nombre" name="FirstName" onKeyPress="return lettersOnly(evt)" type="text" />

<label>Contraseña:</label>
<input autocomplete="off" style="text-align: center" class="pwd" id="password" placeholder="Contraseña" onKeyPress="return lettersOnly(evt)" type="password" name="Pass" /><span class="formerr"></span></div>
<input type="submit" value="Registrarse" class="loginbutton" />
</form>

Cita:
$("#regForm").on('submit', function(e) {
$("#regForm").hide();
$("#loader").show();
e.preventDefault();
var letPass = 1;

var toSend = {};
toSend['checkRegister'] = true;

$("input#FirstName").trigger("keyup");
$("input#LastName").trigger("keyup");
$("input#Email").trigger("keyup");
$("input.pwd").trigger("keyup");
$("input#Age").trigger("keyup");


if(letPass == 1) {
$.getJSON("cuenta.php", toSend, function(d) {
if(d.error) {
$("#regForm").show();
$("#loader").hide();
$("#error").html(d.error).fadeIn(250);
setTimeout( function() {
$("#error").fadeOut(250);
}, 5000);

return false;
}
if(d.success) {
$("#regForm").show();
$("#loader").hide();
}
});
} else {
$("#regForm").show();
$("#loader").hide();
}
return false;
});
  #2 (permalink)  
Antiguo 15/10/2012, 09:18
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: No me hace submit

getJSON hace una petición por AJAX la cual es asíncrona, por lo que siempre retornará false, debes usar el onreadystatechange (success para jQuery) para determinar y forzar el submit

además si usas e.preventDefault(); nunca se enviara el form de forma tradicional, a no ser que lo hagas por ajax

recomendación: leer un manual de ajax
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/10/2012, 10:06
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: No me hace submit

Oye, tengo el codigo completo, podrías ayudarme?, no aparecio en ningún lugar donde contactarte por lo que necesito tu ayuda urgente !


Saludos Cordiales.
  #4 (permalink)  
Antiguo 20/10/2012, 16:16
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: No me hace submit

Intente con este codigo, submit y no lo logre. el e.preventDefault(); no me deja enviar el formulario y no logro hacerlo funcionar.

Cita:
$("#regForm").on("submit", function(e) {
e.preventDefault();
var letPass = 1;

var toSend = {};
toSend["checkRegister"] = true;


var $inPuts = $("#regForm").find("input");
$inPuts.each( function() {
if($(this).attr("type") != "submit") {
toSend[$(this).attr("id")] = $(this).val();
if($(this).next("span.formerr").html().length > 3) var letPass = 0;
}
});

$("input#FirstName").trigger("keyup");
$("input#LastName").trigger("keyup");
$("input#Email").trigger("keyup");
$("input.pwd").trigger("keyup");
$("input#Age").trigger("keyup");


if(letPass == 1)
{
$.getJSON("cuenta.php", toSend, function(d) {

if(d.error)
{
$("#error").html(d.error).fadeIn(250);
setTimeout( function() {
$("#error").fadeOut(250);
}, 5000);
return false;
}
if(d.success)
{
alert("Hola Prueba");
$("#regForm").submit();
}
});
}
});

Etiquetas: html, input, js, php, submit
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 09:54.