Bonjour,
Voilà j'ai un petit soucis, n'étant pas un fan du javascript je connais très peu de chose la dessus.. désolé.
Donc ce que je voudrais faire, c'est ordonner une liste d'éléments sélectionnés par l'utilisateur en naviguant sur le site. C'est un peu comme un système de panier, sauf que je veux que le panier soit rangé.
Donc voilà mon code php :
Et je me disais que pour ordonner ma liste, j'utiliserai les value des input hidden contenus dans le tableau, je ferais une chaine avec un séparateur pour définir l'ordre qui sera la value d'un dernier input hidden. Et ensuite quand j'envoie le formulaire je récupère ce dernier input.
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 <table class="inscription"> <tr> <td> <h1>Votre sélection de recette</h1> <?php if(!isset($_SESSION['menu1'])){ echo "<p style='color:red; width:600px; margin:auto;'>Vous n'avez sélectionner encore aucune recette. Pour créer votre menu, vous devez sélectionner les recettes qui le compose en allant sur la page de vue d'une recette, puis en cliquant sur l'icône d'ajout de recette <img src='/webroot/img/book.png' alt='' style='width:16px;'/>"; }else{ ?> <table style="border-collapse:collapse; width:570px; margin:auto; text-align:center;" id="tableau"> <tr> <td style="wdith:30px;">Position</td> <td style="wdith:450px;">Nom de la recette</td> <td style="wdith:30px;">Monter</td> <td style="wdith:30px;">Descendre</td> <td style="wdith:30px;">Suppr.</td> </tr> <?php $o=1; while(!empty($_SESSION['menu'.$o])){ echo ' <tr> <td>'.$o.'</td> <td>'.$_SESSION['menu'.$o]->nom.' <input type="hidden" name="id" value="'.$_SESSION['menu'.$o]->id.'" /> </td> <td><img src="/webroot/img/up.png" style="width:16px;" onclick="up(this);" alt="Monter"/></td> <td><img src="/webroot/img/down.png" style="width:16px;" onclick="down(this);" alt="Descendre"/></td> <td><img src="/webroot/img/sup.png" style="width:16px;" onclick="suppr(this);" alt="Supprimer"/></td> </tr>'; $o++; } } ?> </table> </td> </tr> </table>
Donc on en arrive au problème c'est que mes énorme lacune en javascript m'empêche d'avancer. Je ne comprends pas pourquoi je n'arrive pas a récupérer mes value. Enfin je pense que je ne les récupère pas. Voilà la partie js:
Donc pour l'instant j'essaye juste d'afficher l'ordre par des alerts, mais ça ne marche pas.
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 function up(img) { var source = img.parentNode.parentNode.rowIndex, cible = source - 1, idMenu = document.getElementById("tableau"), ligneSource = idMenu.rows[source], nbr_cellules = idMenu.rows[source].cells.length, o, i, contenu2, ip = document.getElementsByTagName("input"); //création des lignes if (source>1){ idMenu.deleteRow(source); idMenu.insertRow(cible); for (o = 0; o < nbr_cellules; o = o + 1) { contenu2 = ligneSource.cells[o].innerHTML; idMenu.rows[cible].insertCell(-1); idMenu.rows[cible].cells[o].innerHTML = contenu2; } } for (o = 1; o <= idMenu.rows.length; o = o + 1) { idMenu.rows[o].cells[0].innerHTML = o; } for (var i=0;i<ip.length;i++) { alert(input.value); } }
Si quelqu'un pouvait m'expliquer mon erreur s'il vous plait.
Partager