我在我的索引中有用戶註冊表單的模式。 我創建一個JavaScript時,buttom保存點擊。 當用戶出現錯誤時,警報將顯示在模式中,但會重定向其他頁面。preventDefault之前devise用戶身份驗證
我會在用戶有錯誤時重定向頁面。
這是javascript和ajax。
$("#update").click(function(e){
if(!validarEmail()){
$("#divalerta").addClass("alert-danger");
$("#divalerta").removeClass("alert-success");
var j = $("<p id=\"alerta\"><span class=\"glyphicon glyphicon-exclamation-sign\"></span>Formato de email incorrecto</p>");
mostrarAlerta(j);
e.preventDefault();
return;
}
if($("#newpass").val() != $("#retypepass").val()){
$("#divalerta").addClass("alert-danger");
$("#divalerta").removeClass("alert-success");
var j = $("<p id=\"alerta\"><span class=\"glyphicon glyphicon-exclamation-sign\"></span>Las contraseñas no concuerdan</p>");
mostrarAlerta(j);
e.preventDefault();
return;
}
var datos = {};
datos['accion'] = "ingresar";
datos['nombre'] = $("#nombre").val();
datos['apellido'] = $("#apellido").val();
datos['email'] = $("#email").val();
datos['pass'] = $("#newpass").val();
//var params={'datos' : datos};
$.ajax({
method: "POST",
async: false,
data: datos,
url: "/",
success: function(response){
var arr = response.split("-");
if(arr[0]=="ok"){
$("#divalerta").removeClass("alert-danger");
$("#divalerta").addClass("alert-success");
$("#update").prop('disabled',true);
}
else{
$("#divalerta").addClass("alert-danger");
$("#divalerta").removeClass("alert-success");
}
var j = $("<p id=\"alerta\"><span class=\"glyphicon glyphicon-exclamation-sign\"></span>"+arr[1]+".</p>");
mostrarAlerta(j);
}
});
});
謝謝男人,我解決了它 – user3486836