2014-08-13 04:35:56 +02:00
$ ( function ( ) {
2017-08-11 21:12:34 +02:00
$ ( "#contactForm input,#contactForm textarea" ) . jqBootstrapValidation ( {
preventSubmit : true ,
submitError : function ( $form , event , errors ) {
// additional error messages or events
} ,
submitSuccess : function ( $form , event ) {
event . preventDefault ( ) ; // prevent default submit behaviour
// get values from FORM
var name = $ ( "input#name" ) . val ( ) ;
var email = $ ( "input#email" ) . val ( ) ;
var phone = $ ( "input#phone" ) . val ( ) ;
var message = $ ( "textarea#message" ) . val ( ) ;
var firstName = name ; // For Success/Failure Message
// Check for white space in name for Success/Fail message
if ( firstName . indexOf ( ' ' ) >= 0 ) {
firstName = name . split ( ' ' ) . slice ( 0 , - 1 ) . join ( ' ' ) ;
}
2017-08-12 20:32:03 +02:00
$this = $ ( "#sendMessageButton" ) ;
$this . prop ( "disabled" , true ) ; // Disable submit button until AJAX call is complete to prevent duplicate messages
2017-08-11 21:12:34 +02:00
$ . ajax ( {
2020-04-07 00:19:58 +02:00
url : "contact_me.php" ,
2017-08-11 21:12:34 +02:00
type : "POST" ,
data : {
name : name ,
phone : phone ,
email : email ,
message : message
2014-08-13 04:35:56 +02:00
} ,
2017-08-11 21:12:34 +02:00
cache : false ,
success : function ( ) {
// Success message
$ ( '#success' ) . html ( "<div class='alert alert-success'>" ) ;
$ ( '#success > .alert-success' ) . html ( "<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×" )
. append ( "</button>" ) ;
$ ( '#success > .alert-success' )
. append ( "<strong>Your message has been sent. </strong>" ) ;
$ ( '#success > .alert-success' )
. append ( '</div>' ) ;
//clear all fields
$ ( '#contactForm' ) . trigger ( "reset" ) ;
2014-08-13 04:35:56 +02:00
} ,
2017-08-11 21:12:34 +02:00
error : function ( ) {
// Fail message
$ ( '#success' ) . html ( "<div class='alert alert-danger'>" ) ;
$ ( '#success > .alert-danger' ) . html ( "<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×" )
. append ( "</button>" ) ;
$ ( '#success > .alert-danger' ) . append ( $ ( "<strong>" ) . text ( "Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!" ) ) ;
$ ( '#success > .alert-danger' ) . append ( '</div>' ) ;
//clear all fields
$ ( '#contactForm' ) . trigger ( "reset" ) ;
2014-08-13 04:35:56 +02:00
} ,
2017-08-19 23:01:59 +02:00
complete : function ( ) {
setTimeout ( function ( ) {
$this . prop ( "disabled" , false ) ; // Re-enable submit button when AJAX call is complete
2017-08-12 20:32:03 +02:00
} , 1000 ) ;
}
2017-08-11 21:12:34 +02:00
} ) ;
} ,
filter : function ( ) {
return $ ( this ) . is ( ":visible" ) ;
} ,
} ) ;
2014-08-13 04:35:56 +02:00
2017-08-11 21:12:34 +02:00
$ ( "a[data-toggle=\"tab\"]" ) . click ( function ( e ) {
e . preventDefault ( ) ;
$ ( this ) . tab ( "show" ) ;
} ) ;
2014-08-13 04:35:56 +02:00
} ) ;
/*When clicking on Full hide fail/success boxes */
$ ( '#name' ) . focus ( function ( ) {
2017-08-11 21:12:34 +02:00
$ ( '#success' ) . html ( '' ) ;
2014-08-13 04:35:56 +02:00
} ) ;