-
-
Save ajtroxell/6731408 to your computer and use it in GitHub Desktop.
| <form id="contact" name="contact" method="post"> | |
| <fieldset> | |
| <label for="name" id="name">Name<span class="required">*</span></label> | |
| <input type="text" name="name" id="name" size="30" value="" required/> | |
| <label for="email" id="email">Email<span class="required">*</span></label> | |
| <input type="text" name="email" id="email" size="30" value="" required/> | |
| <label for="phone" id="phone">Phone</label> | |
| <input type="text" name="phone" id="phone" size="30" value="" /> | |
| <label for="Message" id="message">Message<span class="required">*</span></label> | |
| <textarea name="message" id="message" required></textarea> | |
| <label for="Captcha" id="captcha">Name the small house pet that says "<i>meow</i>"<span class="required">*</span></label> | |
| <input type="text" name="captcha" value="" required/> | |
| <input id="submit" type="submit" name="submit" value="Send" /> | |
| </fieldset> | |
| </form> | |
| <div id="success"> | |
| <span> | |
| <p>Your message was sent succssfully! I will be in touch as soon as I can.</p> | |
| </span> | |
| </div> | |
| <div id="error"> | |
| <span> | |
| <p>Something went wrong, try refreshing and submitting the form again.</p> | |
| </span> | |
| </div> |
| jQuery.validator.addMethod('answercheck', function (value, element) { | |
| return this.optional(element) || /^\bcat\b$/.test(value); | |
| }, "type the correct answer -_-"); |
| <?php | |
| $to = "[email protected]"; | |
| $from = $_REQUEST['email']; | |
| $name = $_REQUEST['name']; | |
| $headers = "From: $from"; | |
| $subject = "You have a message sent from your site"; | |
| $fields = array(); | |
| $fields{"name"} = "name"; | |
| $fields{"email"} = "email"; | |
| $fields{"phone"} = "phone"; | |
| $fields{"message"} = "message"; | |
| $body = "Here is what was sent:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); } | |
| $send = mail($to, $subject, $body, $headers); | |
| ?> |
| form { | |
| margin:0 | |
| } | |
| form label { | |
| margin-bottom:.2em; | |
| font-size:1.3rem; | |
| line-height:1.3rem; | |
| font-size:13px; | |
| line-height:13px; | |
| color:#e6e6e1; | |
| text-shadow:0px -1px #202020 | |
| } | |
| form label.error { | |
| margin-bottom:1em; | |
| font-size:1.2rem; | |
| line-height:1.2rem; | |
| font-size:12px; | |
| line-height:12px; | |
| color:#c0392b | |
| } | |
| form input[type="text"], form textarea { | |
| margin-bottom:1.25em; | |
| font-family:"Inconsolata", sans-serif; | |
| font-size:1.4rem; | |
| line-height:1.4rem; | |
| font-size:14px; | |
| line-height:14px; | |
| box-shadow:none; | |
| -moz-box-shadow:none; | |
| -webkit-box-shadow:none; | |
| background:#e6e6e6; | |
| border:1px solid #191919; | |
| -moz-border-radius:0.2em; | |
| -webkit-border-radius:0.2em; | |
| border-radius:0.2em | |
| } | |
| form input[type="text"]:focus, form textarea:focus { | |
| border-color:#191919; | |
| box-shadow:none; | |
| -moz-box-shadow:none; | |
| -webkit-box-shadow:none | |
| } | |
| form input[type="text"][disabled], form textarea[disabled] { | |
| background:#fff | |
| } | |
| form input[type="text"].error, form textarea.error { | |
| background:#e6e6e6; | |
| border-color:#c0392b | |
| } | |
| fieldset { | |
| border:0px; | |
| margin:0; | |
| padding:0 | |
| } | |
| .required { | |
| color:#e9266d | |
| } | |
| #success, #error { | |
| display:none | |
| } | |
| #success span, #erro span { | |
| display:block; | |
| position:absolute; | |
| top:0; | |
| width:100% | |
| } | |
| #success span p, #error span p { | |
| margin-top:6em | |
| } | |
| #success span p { | |
| color:#9bd32d; | |
| } | |
| #error span p { | |
| color:#c0392b; | |
| } |
| jQuery.validator.addMethod('answercheck', function (value, element) { | |
| return this.optional(element) || /^\bcat\b$/.test(value); | |
| }, "type the correct answer -_-"); | |
| // validate contact form | |
| $(function() { | |
| $('#contact').validate({ | |
| rules: { | |
| name: { | |
| required: true, | |
| minlength: 2 | |
| }, | |
| email: { | |
| required: true, | |
| email: true | |
| }, | |
| message: { | |
| required: true | |
| }, | |
| answer: { | |
| required: true, | |
| answercheck: true | |
| } | |
| }, | |
| messages: { | |
| name: { | |
| required: "come on, you have a name don't you?", | |
| minlength: "your name must consist of at least 2 characters" | |
| }, | |
| email: { | |
| required: "no email, no message" | |
| }, | |
| message: { | |
| required: "um...yea, you have to write something to send this form.", | |
| minlength: "thats all? really?" | |
| }, | |
| answer: { | |
| required: "sorry, wrong answer!" | |
| } | |
| }, | |
| submitHandler: function(form) { | |
| $(form).ajaxSubmit({ | |
| type:"POST", | |
| data: $(form).serialize(), | |
| url:"process.php", | |
| success: function() { | |
| $('#contact :input').attr('disabled', 'disabled'); | |
| $('#contact').fadeTo( "slow", 0.15, function() { | |
| $(this).find(':input').attr('disabled', 'disabled'); | |
| $(this).find('label').css('cursor','default'); | |
| $('#success').fadeIn(); | |
| }); | |
| }, | |
| error: function() { | |
| $('#contact').fadeTo( "slow", 0.15, function() { | |
| $('#error').fadeIn(); | |
| }); | |
| } | |
| }); | |
| } | |
| }); | |
| }); |
These
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.form/3.32/jquery.form.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.11.1/jquery.validate.min.js"></script>
``` must be added. Thanks for the code
The CSS has a flaw. One must declare the font-size in px before the font-size in rem. This way only Internet Explorer will use the font-size in px (because Internet Explorer doesn't understand rem), but all the other decent browsers will use the font-size in rem.
This is not working for me!
I have the same challenge with my HTML to PHP contact form
HTML is as follows:
!DOCTYPE html>
<form action="form_process.php" method="post">
<div class="form-group">
<input type="text" class="form-control" id="name" name="name" placeholder="Name" autofocus size="20" value="" required/>
<div class="help-block with-errors"></div>
</div>
<div class="form-group form_left">
<input type="text" class="form-control" id="email" name="email" placeholder="Email" size="20" value="" required/>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<input type="text" class="form-control" id="phone" name="phone" onkeypress="return event.charCode >= 48 && event.charCode <= 57" maxlength="10" placeholder="Mobile No." value="" required/>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<textarea class="form-control textarea-contact" rows="5" id="comment" name="message" placeholder="Type Your Message/Feedback here..." type="text"></textarea>
<br>
<button class="btn btn-default btn-send"> <span class="glyphicon glyphicon-send"></span> Send </button>
</div>
</form>
<div id="success">
<span>
<p>Your message was sent succssfully! I will be in touch as soon as possible.</p>
</span>
</div>
<div id="error">
<span>
<p>Something went wrong, try refreshing and submitting the form again.</p>
</span>
</div>
</footer>
<!-- Js -->
<!--validate form javascript-->
<script language="JavaScript"> jQuery.validator.addMethod('answercheck', function (value, element) {
return this.optional(element) || /^\bcat\b$/.test(value);
}, "type the correct answer -_-");
// validate contact form
$(function() {
$('#contact').validate({
rules: {
name: {
required: true,
minlength: 2
},
email: {
required: true,
email: true
},
message: {
required: true
},
answer: {
required: true,
answercheck: true
}
},
messages: {
name: {
required: "come on, you have a name don't you?",
minlength: "your name must consist of at least 10 characters"
},
email: {
required: "no email, no message"
},
message: {
required: "um...yea, you have to write something to send this form.",
minlength: "thats all? really?"
},
submitHandler: function(form) {
$(form).ajaxSubmit({
type:"POST",
data: $(form).serialize(),
url:"form_process.php",
success: function() {
$('#contact :input').attr('disabled', 'disabled');
$('#contact').fadeTo( "slow", 0.15, function() {
$(this).find(':input').attr('disabled', 'disabled');
$(this).find('label').css('cursor','default');
$('#success').fadeIn();
});
},
error: function() {
$('#contact').fadeTo( "slow", 0.15, function() {
$('#error').fadeIn();
});
}
});
}
});
});// JavaScript Document
</script>
<!--contacts script
<!-- end of contacts script-->
</section>
</body>
and the contact_process.php is as follows
$value){ $message_body .= "$key: $value\n"; } $to = '[email protected]'; $subject = 'Contact Form Submit'; if (mail($to, $subject, $message)){ $success = "Message sent, thank you for contacting us!"; $name = $email = $phone = $message = $url = ''; } } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } The above cannot execute like I want it to do where it is able to send email to the user.
Hello,
i can't validate the select option tag. How to do it?
Thank you