Angular Contact Form
How do I make an angular contact form?
Angular validation and fun CSS transitions. My first try with Angular!. What is a angular contact form? How do you make a angular contact form? This script and codes were developed by Katy DeCorah on 28 July 2022, Thursday.
Angular Contact Form - Script Codes HTML Codes
<!DOCTYPE html>
<html class="ng-app">
<head> <meta charset="UTF-8"> <title>Angular Contact Form</title> <script src="http://s.codepen.io/assets/libs/modernizr.js" type="text/javascript"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"> <link rel='stylesheet prefetch' href='css/23c0352cf1813420a04865d33.css'> <style> /* NOTE: The styles were added inline because Prefixfree needs access to your styles and they must be inlined if they are on local disk! */ @import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css);
@import url(http://fonts.googleapis.com/css?family=Raleway:400);
body { font-family: "Raleway", sans-serif; background: #373737; color: #ebebeb;
}
.container { width: 20em; position: relative;
}
form.hidden { position: absolute; width: 20em; top: -100em; -moz-transform: scale(0.25); -ms-transform: scale(0.25); -webkit-transform: scale(0.25); transform: scale(0.25); -moz-transition: -moz-transform 0.5s ease-in, top 0.5s ease-in 0.4s; -o-transition: -o-transform 0.5s ease-in, top 0.5s ease-in 0.4s; -webkit-transition: -webkit-transform 0.5s ease-in, top 0.5s ease-in; -webkit-transition-delay: 0s, 0.4s; transition: transform 0.5s ease-in, top 0.5s ease-in 0.4s;
}
legend { background: #5C8AB8; color: white; padding: 1em 1.25em; font-size: 1.75em; border-radius: 0.2em 0.2em 0 0; position: relative; display: block; width: 100%;
}
legend:after { content: ""; position: absolute; width: 0; height: 0; border-style: solid; border-color: #5C8AB8 transparent transparent; border-width: 0.4em; left: 2.2em; top: 100%;
}
fieldset { background: #ddddde; width: 100%; padding: 1.75em 0 0.25em;
}
label { display: block; color: #646d76; position: relative; margin: 0 2em 0.75em; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
label input, label textarea { display: block; font-size: 1em; width: 100%; margin: 0.25em 0; padding: 0.5em 0.75em; border: none; background: #f9f9fa; border-radius: 0.2em; font-family: "Raleway", sans-serif; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
label input:focus, label textarea:focus { outline: none; box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.2); -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
label textarea { min-height: 6em;
}
.form-controls { padding: 0.25em 2em 1.5em; background: #ddddde; border-radius: 0 0 0.2em 0.2em;
}
.form-controls .btn { color: white; padding: 1em 0; border-radius: 0.25em; border: none; display: block; cursor: pointer; font-family: "Raleway", sans-serif;
}
.form-controls .btn-send { background: #60a531; width: 100%; font-size: 1.25em; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
.form-controls .btn-send:hover { background: #55912b;
}
.form-controls [disabled] { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); opacity: 0.5; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s; cursor: default;
}
.required, .ok, .invalid { -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
.required:before, .ok:before, .invalid:before { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; padding: 0.2em; position: absolute; top: 0.1em; right: 0.1em; font-size: 1.5em; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
.required:before { content: "\f069"; color: #efefef;
}
.invalid:before { content: "\f057"; color: rgba(165, 49, 57, 0.5);
}
.ok:before { content: "\f058"; color: #60a531; -moz-transition: -moz-transform 0.5s linear; -o-transition: -o-transform 0.5s linear; -webkit-transition: -webkit-transform 0.5s linear; transition: transform 0.5s linear; -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);
}
.sent { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: all 0.5s ease-in-out 1s; -o-transition: all 0.5s ease-in-out 1s; -webkit-transition: all 0.5s ease-in-out; -webkit-transition-delay: 1s; transition: all 0.5s ease-in-out 1s;
}
.sent.hidden { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; position: absolute; z-index: -1;
}
.sent h1 { font-size: 3em; text-align: center;
}
.sent h1 small { font-size: 0.5em; font-weight: 400; display: block; text-align: right; margin-top: 0.5em;
}
.no-placeholder { display: none;
}
.ie-lt9 .no-placeholder { display: block;
} </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
</head>
<body> <div class='container'> <div class='sent' ng-class="{ 'hidden': !submit }"> <h1> Message sent! <small>…okay, not really.</small> </h1> </div> <form name='contactForm' ng-class="{ 'hidden': submit }"> <fieldset> <legend>Contact Us!</legend> <label for='email' ng-class="{'required':contactForm.email.$error.required,'invalid':contactForm.email.$error.email,'ok':contactForm.email.$valid}"> <span class='no-placeholder'> Email </span> <input id='email' name='email' ng-model='email' placeholder='Email' required type='email'> </label> <label for='subject' ng-class="{'required':contactForm.subject.$error.required,'ok':contactForm.subject.$valid}"> <span class='no-placeholder'> Subject </span> <input id='subject' name='subject' ng-model='subject' placeholder='Subject' required type='text'> </label> <label for='message' ng-class="{'required':contactForm.message.$error.required,'ok':contactForm.message.$valid}"> <span class='no-placeholder'> Message </span> <textarea name='message' ng-model='message' placeholder='Message' required></textarea> </label> </fieldset> <div class='form-controls'> <button class='btn btn-send' ng-click='submit = ! submit' ng-disabled='contactForm.$invalid' type='submit'> Send </button> </div> </form>
</div> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.5/angular.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
Angular Contact Form - Script Codes CSS Codes
@import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css);
@import url(http://fonts.googleapis.com/css?family=Raleway:400);
body { font-family: "Raleway", sans-serif; background: #373737; color: #ebebeb;
}
.container { width: 20em; position: relative;
}
form.hidden { position: absolute; width: 20em; top: -100em; -moz-transform: scale(0.25); -ms-transform: scale(0.25); -webkit-transform: scale(0.25); transform: scale(0.25); -moz-transition: -moz-transform 0.5s ease-in, top 0.5s ease-in 0.4s; -o-transition: -o-transform 0.5s ease-in, top 0.5s ease-in 0.4s; -webkit-transition: -webkit-transform 0.5s ease-in, top 0.5s ease-in; -webkit-transition-delay: 0s, 0.4s; transition: transform 0.5s ease-in, top 0.5s ease-in 0.4s;
}
legend { background: #5C8AB8; color: white; padding: 1em 1.25em; font-size: 1.75em; border-radius: 0.2em 0.2em 0 0; position: relative; display: block; width: 100%;
}
legend:after { content: ""; position: absolute; width: 0; height: 0; border-style: solid; border-color: #5C8AB8 transparent transparent; border-width: 0.4em; left: 2.2em; top: 100%;
}
fieldset { background: #ddddde; width: 100%; padding: 1.75em 0 0.25em;
}
label { display: block; color: #646d76; position: relative; margin: 0 2em 0.75em; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
label input, label textarea { display: block; font-size: 1em; width: 100%; margin: 0.25em 0; padding: 0.5em 0.75em; border: none; background: #f9f9fa; border-radius: 0.2em; font-family: "Raleway", sans-serif; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
label input:focus, label textarea:focus { outline: none; box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.2); -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
label textarea { min-height: 6em;
}
.form-controls { padding: 0.25em 2em 1.5em; background: #ddddde; border-radius: 0 0 0.2em 0.2em;
}
.form-controls .btn { color: white; padding: 1em 0; border-radius: 0.25em; border: none; display: block; cursor: pointer; font-family: "Raleway", sans-serif;
}
.form-controls .btn-send { background: #60a531; width: 100%; font-size: 1.25em; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
.form-controls .btn-send:hover { background: #55912b;
}
.form-controls [disabled] { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); opacity: 0.5; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s; cursor: default;
}
.required, .ok, .invalid { -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
.required:before, .ok:before, .invalid:before { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; padding: 0.2em; position: absolute; top: 0.1em; right: 0.1em; font-size: 1.5em; -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s;
}
.required:before { content: "\f069"; color: #efefef;
}
.invalid:before { content: "\f057"; color: rgba(165, 49, 57, 0.5);
}
.ok:before { content: "\f058"; color: #60a531; -moz-transition: -moz-transform 0.5s linear; -o-transition: -o-transform 0.5s linear; -webkit-transition: -webkit-transform 0.5s linear; transition: transform 0.5s linear; -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);
}
.sent { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: all 0.5s ease-in-out 1s; -o-transition: all 0.5s ease-in-out 1s; -webkit-transition: all 0.5s ease-in-out; -webkit-transition-delay: 1s; transition: all 0.5s ease-in-out 1s;
}
.sent.hidden { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; position: absolute; z-index: -1;
}
.sent h1 { font-size: 3em; text-align: center;
}
.sent h1 small { font-size: 0.5em; font-weight: 400; display: block; text-align: right; margin-top: 0.5em;
}
.no-placeholder { display: none;
}
.ie-lt9 .no-placeholder { display: block;
}
Angular Contact Form - Script Codes JS Codes
// Color Inspriation: http://dribbble.com/shots/1212319-Ampersand-Beta-Sign-Up-Form
Developer | Katy DeCorah |
Username | katydecorah |
Uploaded | July 28, 2022 |
Rating | 4.5 |
Size | 7,343 Kb |
Views | 40,480 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Hallowiener by Bobby McKenna | 5,567 Kb |
Snowflaker 2016 | 3,541 Kb |
END by Catt | 2,970 Kb |
2,837 Kb | |
Wave | 4,072 Kb |
Accordion Nav | 4,490 Kb |
THREES App Store Button | 3,417 Kb |
Build a store locator with Mapbox.js | 3,951 Kb |
Combination Lock | 7,587 Kb |
Ice Cream Pattern by Dorottya Porkolab | 2,998 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Polo, the flying squirrel | Agbales | 2,445 Kb |
Scifi-style Radio-based Tab | Aaronchuo | 4,427 Kb |
Learning canvas drawing | Aurer | 2,204 Kb |
ABVI Menu Discarded | Overdrivemachines | 3,607 Kb |
HEXAGON | Aurumlux | 1,684 Kb |
Collapsing Widget | Er40 | 4,279 Kb |
Fluid Responsive Typography | Jonmilner | 4,205 Kb |
Exploring css spinners | Akagr | 3,569 Kb |
Resize image | Happyhj | 1,892 Kb |
A Pen by Brendan Skousen | Bskousen | 2,954 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!