Bonjour,
Je suis en train de mettre en place un système d'insertion de livres dans une base de données pour un site de gestion de bibliothèque perso. L'insertion d'un livre commence par le choix de l'auteur dans une liste (autocompletion). Si l'auteur n'existe pas dans cette liste, j'ai la possibilité, en cliquant sur un "lien" "Auteur absent de la liste ?", de faire apparaitre 2 champs input pour renseigner le prénom et nom de l'auteur. Puis en cliquant sur un "lien "ajouter" l'identité de cet auteur s'affiche. Je peux ensuite supprimer l'affichage de cet auteur en cliquant sur un "lien" "supprimer". Je peux ajouter et supprimer autant d'auteurs que je souhaite. Je précise que, grâce à une fonction $.getJSON, le fait de cliquer sur "ajouter" entraine aussi une insertion de l'auteur dans ma base de données et me permet de récuperer l'ID du dernier auteur inséré (= ID_auteur ). J'affecte cet ID_auteur à la value de l'input hidden créé dynamiquement par la fonction "affichage_contrib" (cette value me sera utile pour un traitement php ultérieur).
Grâce à la 2nd fonction $.getJSON, je souhaite gérer le cas du clic sur "supprimer" qui est censé déclencher une suppression de l'auteur dans ma bdd en passant comme paramètre la value de l'input (qui contient ID_auteur), précédemment affectée lors de l'insertion (fonction "affichage_contrib"). Firebug me signale que la requête se fait mais elle est vide car le paramètre n'est pas transmis. Pouvez-vous m'aider à trouver ce qui ne va pas dans mon code (je suis débutant) ? Merci.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 <script type="text/javascript"> $(document).ready(function(){ $('.ajout').click (function() { var prenom = $('#prenom_contrib').val(); var nom = $('#nom_contrib').val(); affichage_contrib(prenom+' '+nom,"_"+prenom+nom); function affichage_contrib(prenom_nom,id) { $('#contributeurs').append('<br/><div id="contrib'+id+'"> \ <span>'+prenom_nom+'</span> \ <span style="cursor:pointer;" onclick="javascript:supp_contrib(\'contrib'+id+'\' );">supprimer</span>\ <input type="hidden" name="contrib_post[]" id="contrib_post'+id+'" value="" ></div>'); $('#contrib_search').val(''); } $.getJSON( 'ajax_traitementPHP_add.php', {prenom: prenom, nom: nom}, function(data) { var id= prenom+nom; $('#contrib_post_'+id).val(data.id_auteur ); $('#prenom_contrib').val(""); $('#nom_contrib').val(""); $('#ajout_new').hide(); } ); }); }); function supp_contrib(id) { $.getJSON( 'ajax_traitementPHP_supp.php', {id_suppr: $('#contrib_post'+id).val()}, function(data){ $('#'+id).remove(); } ); } </script> </head> <body> <div id="contributeurs"></div> <div id="ajout_new" style="display:none;clear:left;"> <input id="prenom_contrib" type="text"><br/> <input id="nom_contrib" type="text"> <span class="ajout"style="cursor:pointer;">ajouter</span> </div> <br/> <input id="contrib_search" type="text"><br/> <span style="cursor: pointer;" onclick="$('#ajout_new').show();"> Auteur absent de la liste ? </span>
Partager