使用ajax的表单:JS不执行

I've got one big problem on only 1 page of a web site: Javascript doesn't want to be executed.

I tried to copy and paste from another web site i've done where it works perfectly... but not here. Maybe you can help me to figure out why it doesn't work...

I tried many ways, no ajax seems to work here. Here is one of them, when i try to send a mail, i got no alert but {"reponse":"Mail sent corretly!"} instead, and the mail is corretly sent. The submit button works! The page is refreshing, so i think the js is not executed. (i'd like to have the information without refreshing the page, like a normal ajax request).

I've tried to put the script (and the link to librairies) in the head, nothing changed.

Here is my code:

 <--! Some HTML -->
        <form class="form-horizontal myForm" method="post" action="contact.php">
            <div class="form-group col-md-6">
                <input type="text" class="form-control" name="prenom" id="prenom" placeholder="First Name" pattern="[a-zA-ZÀ-ÿ._-\s]{1,30}" required>
            </div>
            <div class="form-group col-md-6" style="margin-left:14px">
                <input type="text" class="form-control" name="nom" id="nom" placeholder="Name" pattern="[a-zA-ZÀ-ÿ._-\s]{1,30}" required>
            </div>
            <div class="form-group col-md-6">
                <input type="email" class="form-control" name="email" id="email" placeholder="Mail" required >
            </div>
            <div class="form-group col-md-6" style="margin-left:14px">
                <input type="text" class="form-control" name="objet" id="objet" placeholder="Object" pattern="[a-zA-ZÀ-ÿ._-\s]{1,30}" required >
            </div>
            <div class="form-group col-md-12">
                <input type="text" class="form-control" name="message" id="message" placeholder="Your message" required>
            </div>
            <div class="form-group">    
                <label for="captcha" class="col-xs-12 col-sm-2 control-label">Captcha</label>
                    <div class="col-xs-6 col-sm-2">
                        <input type="text" class="form-control" id="captcha" name="captcha" required>
                    </div>
                    <div class="col-xs-2 col-sm-1">
                        <img src="form.php">
                    </div>
            </div>
             <div class="form-group col-md-12">
            <button type="submit" class="btn btn-default">Submit</button>
            </div>
            <div class="the-return">  </div>
        </form>
<--! Some HTML -->

<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/main.js"></script> <!-- Gem jQuery -->
<script>            
$(document).ready(function() {
// On submit
$('.myForm').on('submit', function(e) {
    e.preventDefault(); // Prevent default submit

    var $this = $(this);

    // Getting values
    var name = $('#nom').val();
    var fname = $('#prenom').val();
    var objet = $('#objet').val();
    var mail = $('#email').val();
    var msg = $('#msg').val();

    // Looking for errors
 if(name === '' || fname === '' || objet === '' || mail === '' || msg === '') {
        alert('Les champs doivent êtres remplis');
    } else {
        // Sending Ajax query
        $.ajax({
            url: $this.attr('action'), // form's action
            type: $this.attr('method'), // form's method
            data: $this.serialize(), // Serializing data
            success: function(html) { // php's file response
                alert(html); // Print the result 
            }
        });
    }
});
});

And my php file:

session_start();
if(isset($_GET['err']))
{
$reponse = 'Mail not sent corretly!';
echo json_encode(['reponse' => $reponse]);
echo 'An error occurred, please try again             
        <form .... /form>'; //Same form
}
if(isset($_POST["captcha"]) && $_POST["captcha"]!="" && $_SESSION["captcha"]==$_POST["captcha"])
{
    if(isset($_POST["nom"]))
    {
        if(preg_match("/^[a-zA-Z][a-zA-Z]*[a-zA-Z]$/",$_POST['nom'])) 
        {
            if(isset($_POST["prenom"]))
            {
                if (preg_match("/^[a-zA-Z][a-zA-Z]*[a-zA-Z]$/",$_POST['prenom'])) 
                {

                    if(isset($_POST["objet"]))
                    {
                        if (preg_match("/^[a-zA-Z][a-zA-Z]*[a-zA-Z]$/",$_POST['objet'])) 
                        {
                            if(isset($_POST["email"]))
                            {
                                if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/",$_POST['email'])) 
                                {

                                        $passage_ligne = "
";
                                        $emailAdmin = 'benjamin@parisbeaute.fr';

                                        // Subject
                                        $subject = $_POST['objet'];

                                        // Headers
                                        $headers = 'FROM: "'.$_POST['nom'].' '.$_POST['prenom'].'" <'.$_POST['email'].'>'.$passage_ligne;
                                        $headers .= 'MIME-Version: 1.0'.$passage_ligne;
                                        $headers .= 'Content-type: text/html; charset=UTF-8'.$passage_ligne;
                                        $message = $_POST['message'];
                                        // Formulaire


                                        // Fonction mail()
                                        mail($emailAdmin, $subject, $message, $headers);   
                                        echo '<div>Thanks a lot !</div>';
                                        $reponse = 'Mail sent corretly!';
                                        echo json_encode(['reponse' => $reponse]);
                                    }}}}}}}}}
?>

Thanks in advance, sorry for my poor English, it's not my native language as you can see in my code.

Not sure why it did't work, but If you want sending the data using the $.ajax request, then stick to click event. Try change the code into this :

$(document).ready(function() {
// On button click
$('#my_button').on('click', function(e) {


   var $this = $('.myForm');

   // Getting values
   var name = $('#nom').val();
   var fname = $('#prenom').val();
   var objet = $('#objet').val();
   var mail = $('#email').val();
   var msg = $('#msg').val();

 // Looking for errors
 if(name === '' || fname === '' || objet === '' || mail === '' || msg === '')  {
    alert('Les champs doivent êtres remplis');
 } else {
    // Sending Ajax query
    $.ajax({
        url: $this.attr('action'), // form's action
        type: $this.attr('method'), // form's method
        data: $this.serialize(), // Serializing data
        success: function(html) { // php's file response
            alert(html); // Print the result 
        }
    });
 }
});
});

And change button type into :

<button type="button" class="btn btn-default" id="my_button">Submit</button>