Bonsoir,

J'ai un formulaire avec la possibilité de rajouter autant d'input voulu (via script javascript).
Jusque là tout va bien, l'enregistrement en BDD s'effectue bien.
Maintenant, j'aimerais ajouter un script ajax pour ne pas avoir à recharger ce formulaire lors de la soumission (réussie ou retour d'erreurs).
J'ai utilisé celui que j'utilisais jusqu'à présent, le problème c'est que dans ce cas là, j'ai un tableau. Et je ne sais comment le gérer.

Voici mes codes.

Code php :

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
30
31
32
33
34
35
36
 
$id_p_f = $_POST['prod_exist'];
$r_c = $_POST['ref_commande'];
$n_p = $_POST['new_prod'];
$u_c =  $_POST['unite_comm'];
$q_p = $_POST['quantite_comm'];
$px_ht_c = $_POST['prix_ht_comm'];
$tva_p = $_POST['tva_prod_comm'];
$d_c = dateUS($_POST['date_new_comm']);
$p_v = '0';
 
 
end($px_ht_c);
$lastItem = key($px_ht_c);
 
		$insertQuery = "INSERT INTO commandes (id_prod_fournisseur, id_societe, num_comm, designation_comm, unite_comm, quantite_comm, prix_ht_comm, taux_tva_comm, date_commande, paiement_fournisseur) VALUES";
		$valuesQuery='';
 
		foreach( $px_ht_c as $key => $n ) {
			$valuesQuery .= "('". $id_p_f[$key] . "', '". $_SESSION['auth_id_societe'] . "', '". $r_c . "', '". $n_p[$key] . "', '" . $u_c[$key] . "', '" . $q_p[$key] . "', '". $n . "', '" . $tva_p[$key] . "', '" . $d_c . "', '" . $p_v . "')";
 
				if($key === $lastItem) { //n'affiche pas la virgule après le dernier (value1, value2...)
					$valuesQuery .= '';
				}
				else{
					$valuesQuery .= ',';
				}
		}
		$valuesQuery .= ';';
 
		$stmt = Cnx::connectCnx()->prepare($insertQuery . $valuesQuery);
		$stmt->execute();
		var_dump($insertQuery . $valuesQuery);
 
	echo "ok";
}

Code js :

Code javascript : 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
 
$(function(NewCommande) { //Affiche un message de réussite ou d'erreur lors de l'enregistrement d'une nouvelle commande
	$(document).ready(function() {
		$("#new_commandes_ajax").on('submit', '#form_new_commandes', function() {
		console.log( $(this).serialize() );// on vérifie les erreurs
		console.log( $( this ).serializeArray() );
			$.ajax({
				url: "gest_comm_enr.php",
				type: "POST",
				dataType : 'html',
				data : $(this).serialize(),
				success: function(data) {
					if($.trim(data) == "ok"){
						$(".error").empty().html("<div class='apres_valid_mess'>Enregistrement de la commande effectué.</div>").delay(1300).hide(200, function(){ $(this).html('').toggle()});
						document.forms.form_new_commandes.reset();
                    }
					else {
						$(".error").empty().html(data).delay(2300).hide(200, function(){ $(this).html('').toggle()});
					}
				},
				error : function(resultat, statut, erreur){
					$(".error").html("Une erreur s'est produite.");
				}
			});
		return false;
		});
	});
});

Quelqu'un a une idée peut être ?