![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%)
|
masz formularz i tabelkę na jednej stronie HTML, tak?
To zrób ukryte pole w tym formularzu: Kod <input type="hidden" id="zamowienie" name="zamowienie" /> następnie, przy generacji tabelki: stwórz strukturę JS, która będzie reprezentować koszyk. Np. tablicę: Kod var koszyk = []; oraz przy dodawaniu wiersza do koszyka: Kod // dodanie wiersza z pozycja koszyka function addRow(basket, i, isEditable) ... .... ... //DODAJEMY RÓWNIEŻ DO TABLICY java script: koszyk.push({name: basket.GetName(i), quant: basket.GetQuant(i)}); // KOD PRZYKŁADOWY, PEWNIE TAK NIE ZADZIAŁA BEZPOŚREDNIO A potem wrzuć to do tego ukrytego pola w postaci JSON: document.getElementById('zamowienie').value = JSON.stringify(koszyk); i string z koszykiem wyślę się, kiedy użytkownik wyśle formularz (method="POST" powinien być ustawiony ofc). a po stronie PHP masz funkcję json_decode. tak bym to rozwiązał mniej wiecej Ten post edytował PrinceOfPersia 21.04.2014, 23:24:17 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 14.04.2014 Ostrzeżenie: (0%)
|
A potem wrzuć to do tego ukrytego pola w postaci JSON: document.getElementById('zamowienie').value = JSON.stringify(koszyk); i string z koszykiem wyślę się, kiedy użytkownik wyśle formularz (method="POST" powinien być ustawiony ofc). a po stronie PHP masz funkcję json_decode. tak bym to rozwiązał mniej wiecej Dzięki za pomoc, mimo wyczerpującej podpowiedzi jednak cos spaprałem bo nie działa wysyła tylko to pierwsze pole z pliku html... Fragment nowego kodu JSON: Kod // ================================================================================ ====== // JSON JSON.stringify(koszyk) var koszyk = []; // dodanie wiersza z pozycja koszyka function addRow(basket, i, isEditable) { var table = document.getElementById("basketTable"); var lastRow = table.rows.length; var row = table.insertRow(lastRow); row.id = "row_" + i; // lp var cell = row.insertCell(0); var textNode = document.createTextNode(lastRow); cell.appendChild(textNode); // nazwa cell = row.insertCell(1); textNode = document.createTextNode(basket.GetName(i)); cell.appendChild(textNode); .... .... .... .... // link usun if (isEditable) { cell = row.insertCell(5); var el = document.createElement("a"); el.setAttribute("href", "java script:deleteItem(" + i + ");"); el.innerHTML = "usuñ"; cell.appendChild(el); } } //DODAWANIE DO TABLICY JS: koszyk.push({name: basket.GetName(i), quant: basket.GetQuant(i)}); document.getElementById('zamowienie').value = JSON.stringify(koszyk); // ================================================================================ ====== Fragment html z tabelka koszyka Kod <form method="POST" action="maj.php"> <div id="basket"> <table id="basketTable"> <tr> <th width="5%">Lp</th> <th width="40%">Nazwa</th> <th width="15%">Ilość</th> <th width="15%">Wartość</th> <th width="10%"> </th> </tr> </table> <a href="#" onclick="ClearBasket();" >wyczyść</a> </div> Twój mail:<input type="text" name="mail"> <input type="hidden" id="zamowienie" name="zamowienie"/> <input value="Zamawiam!" type="submit"> </form> I wreszcie pliczek php... Kod Twój mail i rachunek: <?php echo $_POST["mail"]; json_decode($_POST["zamowienie"]) ?> Wiecie może gdzie popełniam błąd?? Dzięki i pozdrawiam |
|
|
|
XMajkel [JS] do [PHP] - Przesłanie tabeli generowanej w JS do PHP 14.04.2014, 10:15:06
Crozin 1. Formatuj odpowiednio kod przy użyciu BBCode.
2.... 14.04.2014, 10:27:49 
Prezi2907 Cytat(Crozin @ 14.04.2014, 11:27:49 )... 15.04.2014, 15:01:32 
XMajkel Cytat(Prezi2907 @ 15.04.2014, 16:01:3... 21.04.2014, 17:56:37 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 05:54 |