"url shortener"
Bootstrap 3.0.0 Snippet by evarevirus

<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <!DOCTYPE html><html lang='en' class=''> <head><script src='//production-assets.codepen.io/assets/editor/live/console_runner-079c09a0e3b9ff743e39ee2d5637b9216b3545af0de366d4b9aad9dc87e26bfd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/events_runner-73716630c22bbc8cff4bd0f07b135f00a0bdc5d14629260c3ec49e5606f98fdd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/css_live_reload_init-2c0dc5167d60a5af3ee189d570b1835129687ea2a61bee3513dee3a50c115a77.js'></script><meta charset='UTF-8'><meta name="robots" content="noindex"><link rel="shortcut icon" type="image/x-icon" href="//production-assets.codepen.io/assets/favicon/favicon-8ea04875e70c4b0bb41da869e81236e54394d63638a1ef12fa558a4a835f1164.ico" /><link rel="mask-icon" type="" href="//production-assets.codepen.io/assets/favicon/logo-pin-f2d2b6d2c61838f7e76325261b7195c27224080bc099486ddd6dccb469b8e8e6.svg" color="#111" /><link rel="canonical" href="https://codepen.io/backbench/pen/zzBVxd?depth=everything&order=popularity&page=4&q=shortener&show_forks=false" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel='stylesheet prefetch' href='https://code.getmdl.io/1.3.0/material.deep_purple-pink.min.css'> <style class="cp-pen-styles">@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700'); @font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2'); } .mdl-textfield { width: 100%; } .material-icons { font-family: 'Material Icons'; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; } html, body { font-family: 'Roboto', 'Helvetica', sans-serif; margin: 0; padding: 0; } .mdl-demo .mdl-layout__header-row { padding: 40px 0px 40px 20px; font-size: 30px; } .mdl-demo .mdl-layout.is-small-screen .mdl-layout__header-row h3 { font-size: inherit; } .mdl-demo .mdl-layout__tab-bar-button { display: none; } .mdl-demo .mdl-layout.is-small-screen .mdl-layout__tab-bar .mdl-button { display: none; } .mdl-demo .mdl-layout:not(.is-small-screen) .mdl-layout__tab-bar, .mdl-demo .mdl-layout:not(.is-small-screen) .mdl-layout__tab-bar-container { overflow: visible; } .mdl-demo .mdl-layout__tab-bar-container { height: 64px; } .mdl-demo .mdl-layout__tab-bar { padding: 0; padding-left: 16px; box-sizing: border-box; height: 100%; width: 100%; } .mdl-demo .mdl-layout__tab-bar .mdl-layout__tab { height: 64px; line-height: 64px; } .mdl-demo .mdl-layout__tab-bar .mdl-layout__tab.is-active::after { background-color: white; height: 4px; } .mdl-demo main > .mdl-layout__tab-panel { padding: 8px; padding-top: 48px; } .mdl-demo .mdl-card { height: auto; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .mdl-demo .mdl-card > * { height: auto; } .mdl-demo .mdl-card .mdl-card__supporting-text { margin: 40px; -webkit-flex-grow: 1; -ms-flex-positive: 1; flex-grow: 1; padding: 0; color: inherit; width: calc(100% - 80px); } .mdl-demo.mdl-demo .mdl-card__supporting-text h4 { margin-top: 0; margin-bottom: 20px; } .mdl-demo .mdl-card__actions { margin: 0; padding: 4px 40px; color: inherit; } .mdl-demo .mdl-card__actions a { color: #00BCD4; margin: 0; } .mdl-demo .mdl-card__actions a:hover, .mdl-demo .mdl-card__actions a:active { color: inherit; background-color: transparent; } .mdl-demo .mdl-card__supporting-text + .mdl-card__actions { border-top: 1px solid rgba(0, 0, 0, 0.12); } .mdl-demo #add { position: absolute; right: 40px; top: 36px; z-index: 999; } .mdl-demo .mdl-layout__content section:not(:last-of-type) { position: relative; margin-bottom: 48px; } .mdl-demo section.section--center { max-width: 860px; } .mdl-demo #features section.section--center { max-width: 620px; } .mdl-demo section > header { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .mdl-demo section > .section__play-btn { min-height: 200px; } .mdl-demo section > header > .material-icons { font-size: 3rem; } .mdl-demo section > button { position: absolute; z-index: 99; top: 8px; right: 8px; } .mdl-demo section .section__circle { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; -webkit-flex-grow: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; } .mdl-demo section .section__text { -webkit-flex-grow: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; padding-top: 8px; } .mdl-demo section .section__text h5 { font-size: inherit; margin: 0; margin-bottom: 0.5em; } .mdl-demo section .section__text a { text-decoration: none; } .mdl-demo section .section__circle-container > .section__circle-container__circle { width: 64px; height: 64px; border-radius: 32px; margin: 8px 0; } .mdl-demo section.section--footer .section__circle--big { width: 100px; height: 100px; border-radius: 50px; margin: 8px 32px; } .mdl-demo .is-small-screen section.section--footer .section__circle--big { width: 50px; height: 50px; border-radius: 25px; margin: 8px 16px; } .mdl-demo section.section--footer { padding: 64px 0; margin: 0 -8px -8px -8px; } .mdl-demo section.section--center .section__text:not(:last-child) { border-bottom: 1px solid rgba(0, 0, 0, .13); } .mdl-demo .mdl-card .mdl-card__supporting-text > h3:first-child { margin-bottom: 24px; } .mdl-demo .mdl-layout__tab-panel:not(#overview) { background-color: white; } .mdl-demo #features section { margin-bottom: 72px; } .mdl-demo #features h4, #features h5 { margin-bottom: 16px; } .mdl-demo .toc { border-left: 4px solid #C1EEF4; margin: 24px; padding: 0; padding-left: 8px; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .mdl-demo .toc h4 { font-size: 0.9rem; margin-top: 0; } .mdl-demo .toc a { color: #4DD0E1; text-decoration: none; font-size: 16px; line-height: 28px; display: block; } .mdl-demo .mdl-menu__container { z-index: 99; } .success-help { padding: 15px 0px; vertical-align: 0px; display: none; font-size: 16px; color: #444; } .mdl-spinner { vertical-align: middle; margin: 0px 10px; display: none; } </style></head><body> <div class="mdl-demo mdl-color--grey-100 mdl-color-text--grey-700 mdl-base"> <div class="mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class="mdl-layout__header mdl-layout__header--scroll mdl-color--primary"> <div class="mdl-layout--fixed-header mdl-layout__header-row"> <h3>URL Shortening App</h3> <i style="font-size: 15px;padding: 0px 20px;margin-top: 5px;">Easiest way to shorten URL using cutom text</i> </div> <div class="mdl-layout_tab-bar mdl-js-ripple-effect mdl-color--primary-dark"> </div> </header> <main class="mdl-layout__content"> <div class="mdl-layout__tab-panel is-active" id="overview"> <section style='position:relative' class="section--center mdl-grid mdl-grid--no-spacing mdl-shadow--2dp"> <div class="mdl-card mdl-cell mdl-cell--12-col"> <div class="mdl-card__supporting-text"> <form class="shorturl" method="post" autocomplete="off"> <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> <input class="mdl-textfield__input" type="url" id="url" data-required="true" pattern="https?://.+"> <label class="mdl-textfield__label" for="sample3">URL(http://example.com)</label> </div> <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> <input class="mdl-textfield__input" type="text" id="text" data-required="true"> <label class="mdl-textfield__label" for="sample3">Text</label> </div> <div> <button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored">COnvert</button> <div class="mdl-spinner mdl-js-spinner is-active"></div> <div class="success-help"></div> </div> </form> </div> </div> </section> </div> </main> </div> </div> <script src='//production-assets.codepen.io/assets/common/stopExecutionOnTimeout-b2a7b3fe212eaa732349046d8416e00a9dec26eb7fd347590fbced3ab38af52e.js'></script><script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script><script src='https://code.getmdl.io/1.3.0/material.min.js'></script> <script >$(function() { ["url", "text"].forEach(function(field) { $("#" + field).attr("required", true); $("#" + field).focus(function() { $(".success-help").fadeOut("fast"); }); }); $(".shorturl").submit(function(e) { $(".mdl-spinner").fadeIn("slow").css("display", "inline-block"); e.preventDefault(); var baseUrl = "https://mybench-minifyurl.backbench.io/" var url = $("#url").val(); var text = $("#text").val(); $.ajax({ url: "https://mybench-minifyurl.backbench.io/", data: { url: url, short_url: text }, error: function(jqXHR, textStatus, errorThrown) { $(".mdl-spinner").fadeOut("fast"); if (jqXHR.status == 409) { $(".success-help") .html( "<i>" + text + "</i> is already taken, please use another text!" ) .fadeIn("slow"); } else { $(".success-help").html("An error has occurred").fadeIn("slow"); } }, success: function(data) { $(".mdl-spinner").fadeOut("fast"); ["url", "text"].forEach(function(field) { $("#" + field).val(""); }); $(".success-help").html('Your custom URL is ready. <a class="mylink" target="_blank" href='+baseUrl+text+'>'+baseUrl+text+'</a>').fadeIn("slow"); }, type: "POST" }); }); }); //# sourceURL=pen.js </script> </body></html>

Related: See More


Questions / Comments: