Posted in

Validar y enviar formulario con JQuery

oarrErrores = new Array();
function errores(valor){ ultimaPos = arrErrores.length;arrErrores[ultimaPos] = valor; if(ultimaPos == 0){ $("#" + valor).focus(); } }
$(document).ready(function(e) {
$("#enviar").click(function(e) {
desmarcarCamps();
arrErrores = new Array();
var focusing = "";

var nom = $("input#nom").val();
var adreca = $("input#adreca").val();
var poblacio = $("input#poblacio").val();
var pais = $("input#pais").val();
var telefon = $("input#telefon").val();
var email = $("input#email").val();
var comentaris = $("#comentaris").val();
var code = $("input#code").val();
var acceptar = ($("#acceptar").is(':checked')) ? 1 : 0;

if(nom == ""){ errores('nom'); }
if(poblacio == ""){ errores('poblacio'); }
if(pais == ""){ errores('pais'); }
if(telefon == ""){ errores('telefon'); }
if(email == ""){ errores('email'); }
if(comentaris == ""){ errores('comentaris'); }
if(code == ""){ errores('code'); }
if(acceptar == 0){ errores('acceptar'); }

var longitudErrores = arrErrores.length;
if(longitudErrores < 1){
$("#enviar").hide();
$("#enviar-loader").show();

var url = String.fromCharCode(47,112,117,98,108,105,99,47,115,99,114,105,112,116,115,47,99,97,112,116,99,104,97,47,99,104,101,99,107,45,99,97,112,116,99,104,97,46,112,104,112);
$.post(url,{ code:code,rand:Math.random() } ,function(data){
if(data == "1"){
$.ajax({
type: "POST",
url: "/public/scripts/enviar-contacte.php",
data: { 
nom: $("input#nom").val(),
adreca: $("input#adreca").val(),
poblacio: $("input#poblacio").val(),
pais: $("input#pais").val(),
telefon: $("input#telefon").val(),
email: $("input#email").val(),
comentaris: $("#comentaris").val(),
lang: $("#lang").val() 
}, success: function() {
netejarCamps();
$("#enviar-loader").hide();
$("#mensaje-ok").fadeIn("slow");
}
});
}else{viar-loader").hide();
$("#enviar").show();
}
});= "";
for(a=0;a<longitudErrores;a++){
marcarCamp(arrErrores[a]);
}
}
   });
});
marcarCamp = function(campid){
$("#" + campid).css("border-color", "#F00");
$(".camps-obligatoris").css("color","#F00");
if(campid == "acceptar") $("#aceptar-text").css("color", "#F00");
}
desmarcarCamps = function(){
$("#form-zone").find("input").each(function(index, element) {
$("#" + $(this).attr("id")).css("border-color", "#aeaeae");
    });
$("#comentaris").css("border-color", "#aeaeae");
$(".camps-obligatoris").css("color","#aeaeae");
$("#aceptar-text").css("color", "#000");
}
netejarCamps = function(){
$("#form-zone").find("input").each(function(){
$(this).val("");
});
$("#comentaris").val("");
$("#acceptar").prop('checked', false);
}

Para resolver que al ser codificados los datos enviados con UTF8 no se guardarían bien si usamos ISO-8859-1, hay que utilizar la función utf8_decode() de PHP.

$data['titulo'] = htmlentities(utf8_decode($_REQUEST['titulo']));

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.