Bonjour,

Au submit d'un formulaire, il y a 2 traitements:
1- coté serveur, le php enregistre les données postées dans la bdd.
2- Une popin confirme les saisies (js).

Seulement, cette popin, en s'éxécutant, empêche le traitement php.
En la désactivant, le php fait son boulot.

Quelqu'un a-t-il une idée sur la façon de faire pour que le surgissement de la popin n'empêche pas
le php d'enregistrer les données dans la bdd ?

Merci.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
    require("config-db.php");
    mysql_connect($adresse,$nom,$motdepasse);
    mysql_select_db($database);
    if(isset($_POST['action-submit'])){
        $valid=true;
        $prenom=$_POST['prenom'];
        $email=$_POST['email'];
        if(isset($prenom) && isset($email)){
            $insertdata="INSERT into testable (prenom,email) values('$prenom','$email')";
            mysql_query($insertdata) or die(mysql_error());
            return true;
        }
    }
?>
<form id="themes"  action="" method="post" data-rel="popup_name" class="poplight">
    <input id="nom-inscr" class="foo" name="prenom" type="text"/>
    <input id="email-inscr" class="foo" name="email" type="text" />
 
    <button id="action-submit" class="action-submit" name="action-submit" type="submit"><span class="tick">JE M'INSCRIS</span></button>
 
    <div id="popup_name" class="popup_block">
        <p>
            Les données ont été correctement enregistrées.<br/>
            Vous allez recevoir un mail d'activation à :<br /><br />
            <strong id="emailtarget"></strong>
        </p>
    </div>
</form>

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$(function(){
    var formulaire = $("#themes");
    formulaire.on('submit',function(event)   {
        event.preventDefault();
 
        var mail = formulaire.find("input[name=email]");
        var email = $.trim(mail.val());
        document.getElementById("emailtarget").innerHTML = email;
        var popID = $(this).data('rel');
        var popWidth = $(this).data('width');
        $('#' + popID).fadeIn("fast").css({ 'width': popWidth}).prepend('<a href="#" class="close"><img src="styles/images/close_pop.png" class="btn_close" title="Fermer la fenêtre" alt="Fermer" /></a>');
        var popMargTop = ($('#' + popID).height() + 80) / 2;
        var popMargLeft = ($('#' + popID).width() + 80) / 2;
        $('#' + popID).css({
            'margin-top' : -popMargTop,
            'margin-left' : -popMargLeft
        });
        $('body').append('<div id="fade"></div>');   
        $('#fade').css({'filter' : 'alpha(opacity=70)'}).show();
        return true;
    });
 
    $('body').on('click', 'a.close, #fade', function() {
        $('#fade , .popup_block').fadeOut("fast",function() {
            $('#fade, a.close').remove(); 
        });
        return true;
    });
});
Code css : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
#fade {display: none;background: #000;position: fixed;left: 0;top: 0;
    width: 100%; height: 100%;opacity:.7;z-index: 9999;}
.popup_block{display: none;background: #fff;float: left;font-size:1.0em;position: fixed;
    top: 50%; left: 50%;z-index: 99999;}