function recaptchaCallback(){ $('#hiddenRecaptcha').valid(); } $().ready(function(){ $("#statusmsg").hide(); $("#txtbda,#txteda").datepicker({ dateFormat: "dd/mm/yy", minDate:new Date(2018,6,16), maxDate:new Date(2018,7,3) }); $("#pais").select2({ data: data.paises, placeholder: "Select Country", width: "100%", });/*.one('select2-focus', select2Focus).on("select2-blur", function () { $(this).one('select2-focus', select2Focus) }); function select2Focus() { var select2 = $(this).data('select2'); setTimeout(function() { if (!select2.opened()) { select2.open(); } }, 0); }*/ $("#roomtype").select2({ data: data.roomtypes, placeholder: "Select Rooming Preference", width:"100%", minimumResultsForSearch: -1, dropdownCssClass: "bigdrop", }); $('#registerform').on('submit',function(e) { e.preventDefault(); }); var validator = $('#registerform').validate({ ignore: '.ignore', rules: { nombre: { required: true, minlength: 2 }, apellido: { required: true, minlength: 2 }, email:{ required: true, email: true }, invited:{required:true}, financiacion:"required", letterinvited:"required", hiddenRecaptcha: { required: function() { if(grecaptcha.getResponse() == "") return true; else return false; } }, }, messages: { nombre: { required: "Please enter your firstname", minlength: "Your firstname must be at least 2 characters long" }, apellido: { required: "Please enter your lastname", minlength: "Your lastname must be at least 2 characters long" }, email: "Please enter a valid e-mail address", invited: "Select one option please", financiacion: "Select one option please", letterinvited: "Select one option please", hiddenRecaptcha: "Please validate reCAPTCHA", }, submitHandler: function(form){ var formdata = $(form).serializeArray(); formdata.find(item => item.name === "pais").value = $("#pais").select2("data")[0].text; formdata.find(item => item.name === "roomtype").value = $("#roomtype").select2("data")[0].text; var parameters = $.param(formdata); var post = $.post('api/register', parameters); post.done(function(data){ if(data.success){ validator.resetForm(); reset($("#registerform")); showMsg(false,data.msg); } else{ var errMsg = data.msg+""; console.log(errMsg); showMsg(true,errMsg); } }); }, errorElement: "em", errorPlacement: function ( error, element ) { // Add the `help-block` class to the error element error.addClass("help-block"); var esradio = $(element).prop("type") == "radio"; var padre = element.parents(".input-container"); var escaptcha = padre.find(".g-recaptcha").length; padre.addClass("has-feedback"); padre.append(error); var iconstatus = $(""); if(!$.contains(padre,"span.glyhpicon")){ error.before(iconstatus); } if(esradio || escaptcha){ error.css("display", "inline"); $(iconstatus).css("display", "inline"); $(iconstatus).css("position", "initial"); } }, success: function(label,element){ var esradio = $(element).prop("type") == "radio"; var padre = $(element).parents(".input-container"); var iconstatus = padre.children("span.glyphicon"); if(!iconstatus){ label.before(""); } }, highlight: function ( element, errorClass, validClass ) { var padre = $(element).parents(".input-container"); var iconstatus = padre.children("span.glyphicon"); padre.addClass("has-error").removeClass("has-success"); iconstatus.addClass( "glyphicon-remove" ).removeClass( "glyphicon-ok" ); padre.addClass( "has-error" ).removeClass( "has-success" ); }, unhighlight: function (element, errorClass, validClass) { var padre = $(element).parents(".input-container"); var iconstatus = padre.children("span.glyphicon"); padre.addClass("has-success").removeClass("has-error"); iconstatus.addClass( "glyphicon-ok" ).removeClass( "glyphicon-remove" ); padre.addClass( "has-success" ).removeClass( "has-error" ); }, //}); }); function reset($form){ //$form.find("input").val(''); //$form.find("input:radio,input:checkbox").removeAttr("checked").removeAttr("selected"); $form.find(".input-container").removeClass("has-feedback has-success has-error"); $form.find("span.form-control-feedback").remove(); $form.find("em.error").remove(); $(':input','#registerform') .removeAttr('checked') .removeAttr('selected') .not(':button, :submit, :reset, :hidden, :radio, :checkbox') .val(''); grecaptcha.reset(); $form[0].reset(); } function showMsg(error,msg){ var msgTxt = $("#msgModal .modal-body .alert"); if(error){ msgTxt.removeClass("alert-success"); msgTxt.addClass("alert-danger"); msgTxt.html('' +'Error!
'+msg); } else{ msgTxt.removeClass("alert-danger"); msgTxt.addClass("alert-success"); msgTxt.html('' +'Success!
'+msg); } $("#msgModal").modal({ show:true, }); } });