// Initialize when page loads
jQuery(function () {
BaseFormValidation.init();
window.onbeforeunload = confirmExit;
function confirmExit(event) {
if ($('#IsModified').val() == "0")
return void (0);
else
return true;
};
});
$("#Email").change(function () { $('#IsModified').val("1"); });
$("#ContactName").change(function () { $('#IsModified').val("1"); });
$("#Phone").change(function () { $('#IsModified').val("1"); });
var BaseFormValidation = function () {
// Init Material Forms Validation, for more examples you can check out https://github.com/jzaefferer/jquery-validation
var initValidationMaterial = function () {
jQuery('#ContactInfo').validate(
{
ignore: [],
errorClass: 'help-block text-right animated fadeInDown',
errorElement: 'div',
errorPlacement: function (error, e) {
jQuery(e).parents('.form-group > div').append(error);
},
highlight: function (e) {
var elem = jQuery(e);
elem.closest('.form-group').removeClass('has-error').addClass('has-error');
elem.closest('.help-block').remove();
},
success: function (e) {
var elem = jQuery(e);
elem.closest('.form-group').removeClass('has-error');
elem.closest('.help-block').remove();
},
rules: {
'Email': {
required: true
},
},
messages: {
'Email': 'Introduzca un email correcto...'
}
});
};
return {
init: function () {
// Init Material Forms Validation
initValidationMaterial();
}
};
}();
$(document).on("click", "#btSavePatient", function () {
//$('form#ContactInfo').submit();
if ($("form#ContactInfo").valid()) {
SavePatient();
}
}
);
function SavePatient() {
$('#IsModified').val("0")
event.preventDefault();
var form = $('form#ContactInfo');
var url = '/Contact/Edit/';
$.ajax({
type: "POST",
url: url,
data: form.serialize(), // serializes the form's elements.
success: function (data) {
ShowNoty('Se ha actualizado correctamente la información...', 'information');
},
error: function (data) {
ShowNoty('Error guardando los datos.', 'error');
}
});
}
function ShowNoty(message, type) {
new Noty({
type: type,
layout: 'bottomCenter',
theme: 'bootstrap-v4',
text: message,
progressBar: true,
closeWith: ['click', 'button'],
animation: {
open: 'noty_effects_open',
close: 'noty_effects_close'
},
id: false,
force: false,
killer: false,
queue: 'global',
container: false,
buttons: [],
sounds: {
sources: [],
volume: 1,
conditions: []
},
titleCount: {
conditions: []
},
modal: false,
timeout: 4000
}).show();
}