1// Textarea autoheight 2function fResizeTextarea( id ) 3{ 4 var a = document.getElementById(id); 5 a.style.height = 'auto'; 6 a.style.height = a.scrollHeight+'px'; 7} 8 9function fInitTextarea() 10{ 11 var a = document.getElementsByTagName('textarea'); 12 for ( var i=0,inb=a.length; i<inb; i++ ) 13 { 14 if ( a[i].getAttribute('data-resizable')=='true' ) 15 fResizeTextarea(a[i].id); 16 } 17} 18 19addEventListener('DOMContentLoaded', fInitTextarea); 20 21jQuery(document).ready(function() { 22 23 // Gestion des erreurs 24 var messageError = translationObject.messageError; 25 26 jQuery("#containerContactButton").popover({ trigger: "hover" }); 27 28 // Controles du formulaire de contact 29 jQuery('form').each(function() { 30 if ( jQuery(this).attr('id') == 'commentform' || jQuery(this).attr('id') == 'formContact' ) 31 { 32 console.log('oui 1'); 33 jQuery(this).validate({ 34 35 errorElement: "span", 36 errorClass: "text-danger", 37 errorPlacement: function(error, element){ 38 if( element.parent('.input-group').length ) 39 { 40 error.insertAfter(element.parent()); 41 console.log('oui 2'); 42 } 43 else 44 { 45 error.insertAfter(element); 46 console.log('oui 3'); 47 } 48 }, 49 onkeyup: function(element){ 50 }, 51 rules: { 52 author: { 53 required: true 54 }, 55 nom: { 56 required: true 57 }, 58 email: { 59 required: true, 60 email: true 61 }, 62 message: { 63 required: true 64 }, 65 comment: { 66 required: true 67 } 68 }, 69 messages: { 70 author: { 71 required: translationObject.nameRequired 72 }, 73 nom: { 74 required: translationObject.nameRequired 75 }, 76 email: { 77 required: translationObject.emailRequired, 78 email: translationObject.emailValid 79 }, 80 message: { 81 required: translationObject.messageRequired 82 }, 83 comment: { 84 required: translationObject.messageRequired 85 } 86 }, 87 highlight: function(element){ 88 jQuery(element).closest('.form-group').addClass('has-error'); 89 }, 90 success: function(element){ 91 console.log('oui 10'); 92 if( jQuery(element).prev('.form-group').length ) 93 { 94 jQuery(element).prev('.form-group').removeClass('has-error'); 95 } 96 else 97 { 98 jQuery(element).closest('.form-group').removeClass('has-error'); 99 } 100 }, 101 submitHandler: function(form) { 102 jQuery(form).ajaxSubmit({ 103 url: jQuery(this).attr('action'), 104 type: jQuery(this).attr('method'), 105 dataType: 'json', 106 resetForm: true, 107 error: function(){ 108 console.log('oui 12'); 109 jQuery("#btnValidation").show(); 110 jQuery("#btnValidationLoad").hide(); 111 jQuery(this).find(".alert-danger > span.message").empty().append(messageError); 112 jQuery(this).find(".alert-danger").fadeIn('normal'); 113 }, 114 beforeSubmit:function(formData, jqForm, options){ 115 console.log('oui 11'); 116 jQuery(".alert", jqForm).fadeOut('normal'); 117 jQuery(".formAlert", jqForm).fadeOut('normal'); 118 jQuery("#btnValidation", jqForm).hide(); 119 jQuery("#btnValidationLoad", jqForm).show(); 120 }, 121 success: function(data, statusText, xhr, $form){ 122 console.log('oui 4'); 123 jQuery("#btnValidation").show(); 124 jQuery("#btnValidationLoad").hide(); 125 126 if ( data['codeRetour'] == 'erreur' ) 127 { 128 jQuery(".alert-danger > span.message", $form).empty().append(data['message']); 129 jQuery(".alert-danger", $form).fadeIn('normal'); 130 } 131 else if ( data['codeRetour'] == 'envoye' ) 132 { 133 jQuery(".alert-success > span.message", $form).empty().append(data['message']); 134 jQuery(".alert-success", $form).fadeIn('normal'); 135 } 136 137 } 138 }); 139 return false; 140 } 141 }); 142 143 } 144 }); 145});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.