Bonjour à tous,
Je suis en galère, je suis en train de développer un formulaire dynamique.
J'ai certains champs déjà existants dont certains avec un petit + juste à côté. Lorsque je clique sur ce petit +, je fais apparaître un autre champs du même type juste en dessous.
Aucun problème quand il s'agit d'un champs avec un simple code HTML dedans, mais j'en ai un qui est, à la base, généré par un code PHP incluant une requête SQL et là... Ce n'est pas la même histoire.
Je vous mets le code (partiellement fonctionnel) pour plus de clarté :
Fichier add_field.js :
Fichier switch_var.php :
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 // Pour les ajouts de box var count_box = 1; $(function() { $('#add_field_box').click(function() { count_box += 1; $('#container_box').append( '<label><span>Livebox ' + count_box + ' IP <span class="required">*</span></span><input type="text" id="box' + count_box + ' name="box' + count_box + ' required="true" class="input-field" /></label>' ); }); }); // Pour les ajouts de switch var count_switch = 1; $(function() { $('#add_field_switch').click(function() { count_switch += 1; $.ajax({ url: 'includes/switch_var.php', success: function(html) { var switch_varr = switch_var; } }); $('#container_switch').append( '<label for="switch' + count_switch + '"><span>Switch ' + count_switch + ' <span class="required">*</span></span><select name="switch' + count_switch + '" class="select-field" required="true"><option value="" selected></option>' + switch_varr + '</select></label>' ); }); });
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $switch_var = ""; $sql_switch = "SELECT * FROM base_materiel WHERE type='switch' ORDER BY modele ASC"; $requete_switch = mysqli_query($connexion,$sql_switch) or die('Erreur SQL !<br>'.$sql_switch.'<br>'.mysqli_error()); while($resultat_switch = mysqli_fetch_assoc($requete_switch)) { $switch_var .= "<option value=".$resultat_switch['modele']." '>".$resultat_switch['marque']." ".$resultat_switch['modele']."</option>"; } echo $switch_var; ?>
Fichier add.php (uniquement la partie intéressante) :
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 <label for="switch1"><span>Switch 1 <span class="required">*</span></span> <select name="switch1" class="select-field" required="true"> <option value="" selected></option> <?php $sql_switch1 = "SELECT * FROM base_materiel WHERE type='switch' ORDER BY modele ASC"; $requete_switch1 = mysqli_query($connexion,$sql_switch1) or die('Erreur SQL !<br>'.$sql_switch1.'<br>'.mysqli_error()); while($resultat_switch1 = mysqli_fetch_assoc($requete_switch1)) { echo "<option value='".$resultat_switch1['modele']."'>".$resultat_switch1['marque']." ".$resultat_switch1['modele']."</option>"; } ?> </select> <span id="add_field_switch" class="add_field_switch"><a href="#">+</a></span> </label> <span id="container_switch"></span>
Mon problème est que quand je clique sur le petit + à côté de mon select du Switch 1, il ne se passe rien (2eme partie du fichier JS), alors que cela marche très bien pour l'input de mes box (1ere partie du fichier JS).
Je galère encore niveau AJAX, ça ne fait que quelques jours que je m'y suis lancé. Il y a très certainement pas mal de morceaux de code inutiles.
Quelqu'un aurait-il une idée SVP ? Je suis totalement bloqué...
Merci.
Christophe
Partager