1<!DOCTYPE html> 2<html lang="fr"> 3 <head> 4 5 <!-- Google Tag Manager --> 6
6<script>
vendor: 361 bytes, lines 6-10
6(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 7 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 8 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 9 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 10 })(window,document,'script', 'dataLayer', '
10GTM-M7FXP5
vendor: 3 bytes, line 10
10');
10</script>
10 11 <!-- End Google Tag Manager --> 12 13 14 <title>Contact et devis pour votre projet web â Alpaweb</title> 15 <meta charset="utf-8"> 16 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 17 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 18 <meta name="author" content="www.alpaweb.com"> 19 <link rel="canonical" href="https://www.alpaweb.com/contact"> 20 <meta name="description" content="Alpaweb, agence web spécialisée dans la création de site vitrine, e-commerce et développement web sur mesure à Annecy, Haute-Savoie. Contactez-nous !"> <link rel="alternate" hreflang="x-default" href="https://www.alpaweb.com/contact"> 21 <link rel="alternate" href="https://www.alpaweb.com/contact" hreflang="fr-fr"> 22 23 24 25 26 <!-- Open Graph meta pour Facebook --> 27 <meta property="og:type" content="website"> 28 <meta property="og:title" content="Contact et devis pour votre projet web â Alpaweb"> 29 <meta property="og:url" content="https://www.alpaweb.com/contact"> 30 <meta property="og:image" content="https://www.alpaweb.com/img/og-alpaweb.jpg"> 31 <meta property="og:description" content="Alpaweb, agence web spécialisée dans la création de site vitrine, e-commerce et développement web sur mesure à Annecy, Haute-Savoie. Contactez-nous !"> 32 <meta property="og:site_name" content="Alpaweb"> 33 34 35 36 <!-- Open Graph meta pour Twitter --> 37 <meta name="twitter:card" content="summary"> 38 <meta name="twitter:site" content="Alpaweb"> 39 <meta name="twitter:title" content="Contact et devis pour votre projet web â Alpaweb"> 40 <meta name="twitter:description" content="Alpaweb, agence web spécialisée dans la création de site vitrine, e-commerce et développement web sur mesure à Annecy, Haute-Savoie. Contactez-nous !"> 41 <meta name="twitter:image" content="https://www.alpaweb.com/img/og-alpaweb.jpg"> 42 43 44 <link rel="prefetch" href="https://cdnjs.cloudflare.com"> 45 <link rel="icon" href="favicon.ico?v=1.0.0"> 46 <link rel="preload" as="style" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous" onload="this.onload=null;this.rel='stylesheet'"> 47 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 48 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/locomotive-scroll.min.css" rel="stylesheet" type="text/css"> 49 <link rel="stylesheet" href="/css/main.css?v=1.0.1"> 50 51 <link rel="stylesheet" href="/css/seo.css?v=1.0.0"> 52 53 <!--[if lt IE 9]> 54
54<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
54 55
55<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
55 56 <![endif]--> 57
57<script type="application/ld+json"> 58 {"@context":"https:\/\/schema.org","@graph":[{"@type":["Organization","ProfessionalService","LocalBusiness"],"@id":"https:\/\/www.alpaweb.com\/#organization","name":"Alpaweb","url":"https:\/\/www.alpaweb.com","image":"https:\/\/www.alpaweb.com\/img\/logo.png","logo":"https:\/\/www.alpaweb.com\/img\/logo.png","telephone":"+33450652596","email":"[email protected]","address":{"@type":"PostalAddress","streetAddress":"39 Rue Adrastée","addressLocality":"Chavanod","postalCode":"74650","addressRegion":"Auvergne-Rhône-Alpes","addressCountry":"FR"},"geo":{"@type":"GeoCoordinates","latitude":45.899476327558105,"longitude":6.079515641699515},"areaServed":[{"@type":"City","name":"Annecy"},{"@type":"AdministrativeArea","name":"Haute-Savoie"}],"foundingDate":"2009","description":"Agence web à Annecy spécialisée en création de sites vitrines, e-commerce PrestaShop et développement sur-mesure depuis 2009.","sameAs":["https:\/\/www.linkedin.com\/company\/alpaweb\/","https:\/\/www.facebook.com\/alpaweb74\/"]},{"@type":"WebSite","@id":"https:\/\/www.alpaweb.com\/#website","url":"https:\/\/www.alpaweb.com","name":"Alpaweb","publisher":{"@id":"https:\/\/www.alpaweb.com\/#organization"},"inLanguage":"fr"},{"@type":"WebPage","@id":"https:\/\/www.alpaweb.com\/contact#webpage","url":"https:\/\/www.alpaweb.com\/contact","name":"Contact et devis pour votre projet web â Alpaweb","description":"Alpaweb, agence web spécialisée dans la création de site vitrine, e-commerce et développement web sur mesure à Annecy, Haute-Savoie. Contactez-nous !","inLanguage":"fr","isPartOf":{"@id":"https:\/\/www.alpaweb.com\/#website"},"about":{"@id":"https:\/\/www.alpaweb.com\/#organization"}}]} 59 </script>
59 60 </head> 61 <body id="rub4"> 62 63 <!-- Google Tag Manager (noscript) -->
vendor: 76 bytes, lines 63-64
63 64 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
64GTM-M7FXP5
vendor: 99 bytes, lines 64-66
64" 65 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 66
66<!-- End Google Tag Manager (noscript) --> 67 68 <header id="header"> 69 <nav class="navbar"> 70 <a class="navbar-brand " href="/"> 71 <img src="/img/logo.svg" class="img-fluid" alt="Alpaweb"> 72 </a> 73 <button class="navbar-toggler collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> 74 <span class="menu">Menu</span> 75 <span class="icon-bar"></span> 76 </button> 77 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 78 <img src="/img/aw-red.svg" class="fondMenu" alt="Alpaweb fond menu"> 79 <div class="row justify-content-center align-items-center"> 80 <div class="col-lg-4"> 81 82 83<ul class="navbar-nav"> 84 <li class="nav-item "> 85 <a class="nav-link" href="/" >Accueil</a> 86 </li> 87 88 89 <li class="nav-item "> 90 <a class="nav-link" href="/agence-web-annecy" >L'Agence</a> 91 </li> 92 93 <li class="nav-item "> 94 <a class="nav-link" href="/creation-site-internet-annecy" >Site vitrine</a> 95 </li> 96 97 <li class="nav-item "> 98 <a class="nav-link" href="/developpement-web" >Développement</a> 99 </li> 100 101 <li class="nav-item "> 102 <a class="nav-link" href="/e-commerce" >E-commerce</a> 103 </li> 104 105 <li class="nav-item "> 106 <a class="nav-link" href="/references" >Références</a> 107 </li> 108 109 <li class="nav-item active"> 110 <a class="nav-link" href="/contact" >Contact</a> 111 </li> 112 113 114</ul> </div> 115 <div class="col-lg-4 d-none d-lg-block contacts"> 116 <a href="/contact" class="btn btn-primary mb-3" data-scroll data-scroll-repeat> Contactez-nous !</a> 117 <p><a href="https://g.page/alpaweb?share" target="_blank">Parc Altaïs<br /> 11839 Rue Adrastée<br /> 11974650 Chavanod</a></p> 120 121 <a href="tel:+33450652596" class='tel my-3'> 122 04 50 65 25 96 123 </a><br> 124 <a href="mailto:[email protected]" > 125 [email protected] 126 </a> 127 </div> 128 </div> 129 </div> 130 <a href="/contact" class="btnContact" aria-label="Contactez nous"> 131 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="30" height="30"> 132 <path class="iconMail" d="M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM48 96h416c8.8 0 16 7.2 16 16v41.4c-21.9 18.5-53.2 44-150.6 121.3-16.9 13.4-50.2 45.7-73.4 45.3-23.2.4-56.6-31.9-73.4-45.3C85.2 197.4 53.9 171.9 32 153.4V112c0-8.8 7.2-16 16-16zm416 320H48c-8.8 0-16-7.2-16-16V195c22.8 18.7 58.8 47.6 130.7 104.7 20.5 16.4 56.7 52.5 93.3 52.3 36.4.3 72.3-35.5 93.3-52.3 71.9-57.1 107.9-86 130.7-104.7v205c0 8.8-7.2 16-16 16z"/> 133 </svg> 134 </a> 135 </nav> 136 </header> 137 <div class="siteContainer" data-scroll-container> 138 139 140<div class="fondRef fondContact"> 141 <img src="/img/bghome3.jpg" alt="Contactez notre agence web Alpaweb à Annecy" width="1920" height="1080"/> 142</div> 143 144<div data-scroll-section> 145 <div class="bandeau"> 146 <div class="text-center"> 147 <div id="titre1" class="titre px-3 animated zoomIn" data-scroll data-scroll-repeat> 148 <h1>Vous avez un projet web ?<br /> 149<em>Contactez-nous !</em></h1> 150 <ul class="breadcrumb justify-content-center" itemscope itemtype="http://schema.org/BreadcrumbList"> 151<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> 152 <a itemprop="item" href="/" ><span itemprop="name">Accueil</span></a> 153 <meta itemprop="position" content="1"> 154</li> 155<li class="active" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> 156 <a itemprop="item" href="/contact" ><span itemprop="name">Contact</span></a> 157 <meta itemprop="position" content="2"> 158</li> 159</ul> 160 </div> 161 </div> 162 <div class="coordonnees animated fadeInUp delay1"> 163 <div class="d-flex flex-column text-center"> 164 <div class="mb-4"> 165 <a href="tel:+33450652596" class='tel'>04 50 65 25 96</a> 166 </div> 167 <div class="mb-3"> 168 <a href="mailto:[email protected]" >[email protected]</a> 169 </div> 170 </div> 171 </div> 172 <div class="bandeauForm animated fadeInUp delay2"> 173 <div class="container"> 174 <h2 style="text-align:center">Décrivez-nous votre projet...</h2> 175 <form method="post" action="/ajax/ajax.send_email.php" id="contact" name="contact" role="form" class="pl-100 needs-validation" novalidate> 176 177 <input id="username" name="username" class="form-control" value="" hidden/> 178 179 <div class="row"> 180 <div class="form-floating col-md-6 mb-4"> 181 <input id="nom" name="nom" class="form-control" placeholder="Nom *" type="text" /> 182 <label for="nom"">Nom</label> 183 <div class="invalid-feedback">Veuillez renseigner un nom</div> 184 </div> 185 186 <div class="form-floating col-md-6 mb-4"> 187 <input id="prenom" name="prenom" class="form-control" placeholder="Prénom *" type="text" /> 188 <label for="prenom">Prénom</label> 189 <div class="invalid-feedback">Veuillez renseigner un prénom</div> 190 </div> 191 192 <div class="form-floating col-md-6 mb-4"> 193 <input id="societe" name="societe" class="form-control" placeholder="Société" type="text" /> 194 <label for="societe">Société</label> 195 </div> 196 197 <div class="form-floating col-md-6 mb-4"> 198 <input id="telephone" name="telephone" class="form-control" placeholder="Téléphone" type="text" required/> 199 <label for="telephone">Téléphone *</label> 200 <div class="invalid-feedback">Veuillez renseigner un téléphone</div> 201 </div> 202 203 <div class="form-floating col-xl-12 mb-4"> 204 <input id="email" name="email" class="form-control" type="email" placeholder="Email *" required/> 205 <label for="email">Email *</label> 206 <div class="invalid-feedback">Veuillez renseigner un email valide</div> 207 </div> 208 <div class="form-floating col-xl-12 mb-4"> 209 <textarea id="commentaire" name="commentaire" class="form-control" style="height: 150px" placeholder="Votre message" ></textarea> 210 <label for="commentaire">Votre message</label> 211 <div class="invalid-feedback">Veuillez préciser votre demande</div> 212 </div> 213 </div> 214 215 <div class="row align-items-end"> 216 <div class="col-md-9"> 217 <div class="mb-4"> 218 <div class="g-recaptcha" data-sitekey="6Lc_cu8SAAAAAABt001llluiIVnzGK259fus5ZS4"></div> 219 </div> 220 <div class="form-check mb-4"> 221 <input class="form-check-input" type="checkbox" name="rgpd" id="rgpd" required> 222 <label class="form-check-label" for="rgpd">En soumettant ce formulaire, j'accepte que les informations saisies soient utilisées pour me recontacter. Aucun autre traitement ne sera effectué avec mes informations. <span class="text-error"> *</span></label> 223 <div class="invalid-feedback">Vous devez accepter avant d'envoyer</div> 224 </div> 225 </div> 226 <div class="col-md-3 mb-4 text-end"> 227 <button type="submit" class="btn btn-secondary">Envoyer</button> 228 </div> 229 </div> 230 <input type="hidden" name="id_module" id="id_module" value="9"> 231</form> </div> 232 </div> 233 <div id="GGMap"></div> 234 </div> 235</div> 236 237<div id="sendKO" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-nosnippet> 238 <div class="modal-dialog"> 239 <div class="modal-content"> 240 <div class="modal-header"> 241 <h3 class="modal-title"> 242 Erreur 243 </h3> 244 <button type="button" class="close" data-bs-dismiss="modal" aria-hidden="true">×</button> 245 </div> 246 <div class="modal-body"> 247 <p>Une erreur est survenue durant l'envoi du message. Veuillez réessayer</p> 248 </div> 249 <div class="modal-footer"> 250 <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Continuer</button> 251 </div> 252 </div> 253 </div> 254</div> 255 256 257 <div data-scroll-section> 258 <footer id="footer" class="pl-100"> 259 <div class="container"> 260 <div class="row align-items-center pt-5"> 261 <div class="col-lg-6 col-md-5 contacts"> 262 <p><a href="https://g.page/alpaweb?share" target="_blank">Parc Altaïs<br /> 26339 Rue Adrastée<br />
26474650 Chavanod</a></p> 265 266 <a href="tel:+33450652596" class='mt-3'> 267 04 50 65 25 96 268 </a><br> 269 <a href="mailto:[email protected]"> 270 [email protected] 271 </a> 272 </div> 273 <div class="col-lg-6 col-md-7 footer-links"> 274 <ul class="nav navFooter"> 275 <li class="nav-item"><a class="nav-link" href="/contact" >Contact</a></li> 276 <li class="nav-item"><a class="nav-link" href="/mentions-legales" >Mentions légales</a></li> 277 <li class="nav-item"><a class="nav-link" href="/plan-site" >Plan du site</a></li> 278 <li class="nav-item"><a class="nav-link" href="/cgv" >Conditions générales</a></li> 279 </ul> </div> 280 </div> 281 <div class="row align-items-end"> 282 <div class="col-md-7 copyright"> 283 Copyright © 2026 Alpaweb - Tous droits réservés 284 </div> 285 <div class="col-md-5 d-flex socialIcons justify-content-lg-end"> 286 <a href="https://www.facebook.com/alpaweb74/" target="_blank" aria-label="Lien vers FaceBook de Alpaweb"> 287 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" height="140px" class="brand"> 288 <linearGradient id="grad1" gradientUnits="userSpaceOnUse" x1="160" y1="8" x2="160" y2="501.2281"> 289 <stop offset="0" style="stop-color:#7E1229"/> 290 <stop offset="1" style="stop-color:#470B17"/> 291 </linearGradient> 292 <path fill="url(#grad1)" d="M279.1,288l14.2-92.7h-88.9v-60.1c0-25.3,12.4-50.1,52.2-50.1h40.4V6.3c0,0-36.7-6.3-71.7-6.3 c-73.2,0-121.1,44.4-121.1,124.7v70.6H22.9V288h81.4v224h100.2V288H279.1z"/> 293 </svg> 294 </a> 295 <a href="https://www.linkedin.com/company/alpaweb/" target="_blank" aria-label="Lien vers LinkedIn de Alpaweb"> 296 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 448" height="140px" class="brand"> 297 <linearGradient id="grad2" gradientUnits="userSpaceOnUse" x1="224" y1="4.9823" x2="224" y2="445.1118"> 298 <stop offset="0" style="stop-color:#7E1229"/> 299 <stop offset="1" style="stop-color:#470B17"/> 300 </linearGradient> 301 <path fill="url(#grad2)" d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"/> 302 </svg> 303 </a> 304 </div> 305 </div> 306 </div> 307 </footer> 308 </div> 309 </div> 310 311
311<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
311 312
312<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
312 313
313<script src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js"></script>
313 314
314<script src="https://cdn.jsdelivr.net/npm/@svgdotjs/[email protected]/dist/svg.min.js"></script>
314 315
315<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-backstretch/2.0.4/jquery.backstretch.min.js"></script>
315 316
316<script async src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js"></script>
316 317
317<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/locomotive-scroll.min.js"></script>
317 318
318<script> 319 320 // scroll locomotive 321 var scroll = null, refresh_in_progress = null; 322 function refreshScroll() 323 { 324 if (scroll) { 325 return scroll.update(); 326 } 327 328 scroll = new LocomotiveScroll({ 329 el: document.querySelector('[data-scroll-container]'), 330 smooth: true 331 }); 332 333 scroll.on('scroll', function() 334 { 335 if (!refresh_in_progress) { 336 refresh_in_progress = true; 337 window.setTimeout(function() { refreshScroll(); refresh_in_progress = false; }, 500); 338 } 339 }); 340 } 341 //////////////////// 342 343 344 $(document).ready(function () 345 { 346 $('.btn-primary').each(function (i) 347 { 348 var draw = SVG().addTo($(this).get(0)).size(60, 60); 349 var path = draw.path('M10,10.3c5.5-5.6,13.3-8.7,21.7-8c15,1.3,26.3,14.6,25,29.6C55.5,47,42.2,58.3,27.1,57 c-7.4-0.6-13.9-4.1-18.3-9.3'); 350 path.stroke({ color: '#fff', width: 1, linecap: 'round', linejoin: 'round' }); 351 }); 352 353 $('.socialIcons a').each(function (i) 354 { 355 var draw = SVG().addTo($(this).get(0)).size(200, 240).addClass('circle').viewbox(0, 0, 200, 240); 356 var path = draw.path('M185.8,219.5c-18.7,12.3-41,19.5-65,19.5C55.5,239,2.7,186.1,2.7,120.9S55.5,2.9,120.7,2.9 c27.1,0,52,9.1,72,24.5'); 357 path.stroke({ color: '#fff', width: 1, linecap: 'round', linejoin: 'round' }); 358 }); 359 360 refreshScroll(); 361 }); 362 363 </script>
363 364
365<script src='https://maps.googleapis.com/maps/api/js?key=AIzaSyCNMOgjnFM76CghYunWaKy1xZt4LkqqxXE'></script>
vendor: 65 bytes, lines 365-366
365 366<script src="https://www.google.com/recaptcha/api.js"></script>
367<script> 368 369$(document).ready(function() 370{ 371 var draw = SVG().addTo('#titre1').size(500, 500).addClass('circle').viewbox(0, 0, 500, 500); 372 var path = draw.path('M35.8,365c-18.5-34.3-29-73.6-29-115.3C6.9,115.2,115.9,6.1,250.4,6.1S494,115.2,494,249.7c0,78.8-37.5,149-95.6,193.5'); 373 path.fill('none'); 374 path.stroke({ color: '#fff', width: 1, linecap: 'round', linejoin: 'round' }); 375 376 $('.btn-secondary').each(function (i) 377 { 378 var draw = SVG().addTo($(this).get(0)).size(60, 60); 379 var path = draw.path('M10,10.3c5.5-5.6,13.3-8.7,21.7-8c15,1.3,26.3,14.6,25,29.6C55.5,47,42.2,58.3,27.1,57 c-7.4-0.6-13.9-4.1-18.3-9.3'); 380 path.stroke({ color: '#bb163a', width: 1, linecap: 'round', linejoin: 'round' }); 381 }); 382 383 var GGMap; 384 var styles = [{ 385 stylers: [ 386 { hue: "#000000" }, 387 { saturation: -100 }, 388 { lightness: -5 }, 389 { gamma: 1.4 } 390 ] 391 }]; 392 393 var optionsMap = { 394 center: new google.maps.LatLng(45.899476327558105, 6.079515641699515), 395 zoom: 9, 396 zoomControl: true, 397 zoomControlOptions: { 398 style: google.maps.ZoomControlStyle.DEFAULT 399 }, 400 disableDoubleClickZoom: true, 401 mapTypeControl: false, 402 mapTypeControlOptions: { 403 style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR 404 }, 405 scaleControl: true, 406 scrollwheel: false, 407 panControl: true, 408 streetViewControl: true, 409 draggable: false, 410 overviewMapControl: true, 411 overviewMapControlOptions: { 412 opened: false 413 }, 414 mapTypeId: google.maps.MapTypeId.ROADMAP, 415 styles: styles 416 }; 417 418 GGMap = new google.maps.Map(document.getElementById("GGMap"), optionsMap); 419 GGMap.addListener('tilesloaded', function () { refreshScroll(); }) 420 421 var image = '/img/marker.png'; 422 423 var marker = new google.maps.Marker({ 424 map: GGMap, 425 position: new google.maps.LatLng(45.899476327558105, 6.079515641699515), 426 icon: image, 427 animation: google.maps.Animation.DROP 428 }); 429 430 google.maps.event.addListener(marker, 'click', function () { 431 window.open("https://maps.app.goo.gl/ucrmcMNHpSPxGswQ9"); 432 }); 433 434 $('body').on('hide.bs.modal', '#sendKO', function(event) { 435 $('form#contact')[0].reset(); 436 }); 437 438 $('body').on('submit', 'form#contact', function(event) 439 { 440 event.preventDefault(); 441 event.stopPropagation(); 442 $("form#contact").addClass('was-validated'); 443 if (!$("form#contact")[0].checkValidity()) { 444 return false; 445 } 446 447 var $btn = $('form#contact button[type="submit"]'); 448 $btn._html = $btn.html(); 449 $btn.html('<i class="bi bi-gear-fill bi-spin"></i>').attr('disabled', 'disabled').addClass('disabled'); 450 451 $.post($("form#contact").attr('action'), $('form#contact').serialize(), function(json) 452 { 453 $btn.html($btn._html).removeClass('disabled').removeAttr('disabled'); 454 json = JSON.parse(json); 455 if (json.hasOwnProperty('error')) { 456 $('#sendKO .modal-body p').text(json.error); 457 $('#sendKO').modal('show'); 458 } else if (json.hasOwnProperty('redirect')) { 459 window.location.href = json.redirect; 460 } 461 }); 462 }); 463}); 464 465</script>
465 466 467 468 </body> 469</html>
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.