Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Передать таблицу javascript в php. (https://javascript.ru/forum/dom-window/53276-peredat-tablicu-javascript-v-php.html)

apapen 28.01.2015 01:01

Передать таблицу javascript в php.
 
Здравствуйте. Уже не один день бьюсь над проблемой, перелопатил кучу информации хотел сам додуматься но не могу, уже мозг кипит.
Подскажите или направьте, как мне этот код передать в PHP. Мне нужно его в скрипт PHP принять. Спасибо всем кто неравнодушен.
<script>
                    $(document).ready(function() {


                        var s = "";

                        s += "<tr class='TRpanierHD'>";
                        s += "<td>Nom</td>";
                        s += "<td>Matière</td>";
                        s += "<td>Épaisseur</td>";
                        s += "<td>Dimensions</td>";
                        s += "<td>Prix TTC</td>";
                        s += "<td>[X]</td>";
                        s += "</tr>";

                        var L = fnNRpanierOBJ();

                        var i,j,LD;
                        var sum;
                        sum = 0;
                        var aDIM;
                        for (i = 0; i < L; i++) if (fnLS("panier.pc." + i + ".name") != 'unknown') {
                            s += "<tr class='TRpanierItem' onmouseout='fnPanierHideImage(this," + i + ")'>";

                            s += "<td id='PSI" + i + "'>";
                            s += "<span class='PR panierPCimage'></span>";
                            s += "<span class='SPpanierName' name='nom'>";
                            s += fnLS("panier.pc." + i + ".namestr");
                            s += (fnLS("panier.pc." + i + ".chr") == "unknown") ? "" : " (" + fnLS("panier.pc." + i + ".chr") + ")";
                            s += "</span>";
                            s += "<br />";
                            s += "(catégorie: " + fnLS("panier.pc." + i + ".categorystr") + ")";
                            s += "</td>";
                            s += "<td class='TAC'>" + aMAT[parseInt(fnLS("panier.pc." + i + ".matIX"))] + "</td>";
                            s += "<td class='TAR'>" + fnLS("panier.pc." + i + ".epMM") + " mm</td>";

                            s += "<td>";

                            LD = fnLS("panier.pc." + i + ".dim");
                            aDIM = LD.split('*');
                            LD = aDIM.length;
                            for (j = 0; j < LD; j++) {
                                s += (j == 0) ? "" : "<br />";
                                s += String.fromCharCode(97 + j);
                                s += ": " + aDIM[j] + " mm";
                            }
                            s += "</td>";

                            sum += fnPCitemPrice(fnLS("panier.pc." + i + ".price"));
                            s += "<td class='TAR'>" + "<span class='SPpanierPrice'>" + fnLS("panier.pc." + i + ".price") + "</span> &euro;</td>";
                            s += "<td><img class='PP' src='_include/img/close.png' onclick='fnPanierPCdelete(this," + i + ")'/></td>";
                            s += "</tr>";
                        }
                        sum = parseFloat(sum);
                        sum = sum.toFixed(2);
                        sum = sum.toString();
                        sum = sum.replace(/\./,",");
                        s += "<tr class='TRpanierSum'>";
                        s += "<td><input type='submit' name='submit' value=''></td>";
                        s += "<td colspan='6' class='TAR'><span class='SPpanierPrice'>"+sum+"</span> &euro;</td>";
                        s += "</tr>";

                        $(s).appendTo($('table#TBpanier'));

                    });
                </script>
                <div class="span">
                    <form class="FL span9" action="./test.php" method="get">

                        <table id='TBpanier' class='FL span9'></table>
                    </form>
                </div>

Vlasenko Fedor 28.01.2015 02:03

Цитата:

Сообщение от apapen
как мне этот код передать в PHP

напиши в html и не мучайся
Цитата:

Сообщение от apapen
Мне нужно его в скрипт PHP принять

эт ты о чем счас, что значит принять. Может получить. и ...
Объясни подробно, что надо то

apapen 28.01.2015 02:16

Эта таблица корзины магазина. Я вот тоже уже склонялся к тому чтобы переделать на PHP но при подробном анализе выяснил что по времени будет очень долго. Если есть желание помочь могу дать ссылку.

При нажатие добавить в корзину в этой таблице отображаются детали заказа (металлических изделий) мне нужно эти детали дальше обработать, (подключить платежный шлюз, вывести в деталях заказа(Invoice) и т.д.) и вот тут стопор. Здесь идет подсчет общей суммы. Плюс заказанный товар храниться в LocalStorage. Просто кода javascript много если переделывать то все придется.

Если в терминологии ошибся извиняюсь.

Vlasenko Fedor 28.01.2015 02:20

почитай
отправка данных формами
отправка данных с помощью аякс

тебе ведь только значения нужны, вот их и надо отправлять. Все остальное мусор. :)

apapen 28.01.2015 02:26

Так это же таблица или значения не имеет? Плюс курил долго аякс, так тоже и не вышло. Пустые значения приходят или может проблема глубже?

danik.js 28.01.2015 02:27

Цитата:

Сообщение от apapen
Просто кода javascript много

Помоему в этом коде больше html, чем javascript:D
Ты если хочешь на клиенте генерить, то хотя бы подключи простенький js-шаблонизатор. А что касается передачи в PHP - дык лучше передать чисто данные, а не таблицу ввиде html, не? Но для этого у тебя должно быть нормальное разделение данных и представления (хотяб шаблонизатор), а то ты все в кучу свалил.

apapen 28.01.2015 02:32

Ребят не нападайте) Сам за одним мастером доделываю честно. Поэтому может где что то упустил. И теперь задача стоит использовать базы данных.

Vlasenko Fedor 28.01.2015 02:37

Цитата:

Сообщение от apapen
И теперь задача стоит использовать базы данных

Упорство, труд, все перетрут :lol:

apapen 28.01.2015 02:40

Да уж, хотел время с экономить а получилось как всегда. Так что уважаемые гуру программирования оставить всю эту затею да переписать все, очень плох код?

apapen 28.01.2015 02:44

Цитата:

Сообщение от danik.js
А что касается передачи в PHP - дык лучше передать чисто данные, а не таблицу ввиде html, не?

Так в этом то и проблема данные тоже поступают как бы javascript.

// ================================================
// slider and price calculatorLettres and Chiffres
// ================================================
function fnInitSliders() {
    var Aval = $('#sliderA').slider('value');
    $('#INPvalA').val(Aval);
}

// ================================================
function fnShowPrice() {
    if ($('#PCprice').css('display') == 'block') {
        window.clearTimeout(TOprice);
        TOprice = window.setTimeout(function() {
            var Aval = $('#sliderA').slider('value');
            var matiereIX = OBJcurrentMatiere.attr('data-ix');
            var myEP = $('div#PCcolumn1 div.PCep div a.current label').html();

            var priceHT = Aval * Aval * myEP * aCOEFd[matiereIX] * aCOEFz[matiereIX];
            priceHT = (priceHT < priceMIN) ? priceMIN : priceHT; // minimum price
            document.forms['FRMprice'].elements['INPpriceHT'].value  = fnFormatPrice(priceHT);
            document.forms['FRMprice'].elements['INPpriceTTC'].value = fnFormatPrice((priceHT + valFP) * valVATrate);
        }, MSprice); // END setTimeout
    }
}

$(document).ready(function() {

// =================================================
    $('#sliderA').slider({
        animate: true,
        orientation: 'horizontal',
        range: 'max',
        max: 2000, // fixed : not changed by JS
        min: 20, // fixed : not changed by JS
        value: 20,
        slide: function(event,ui) {
            $('#INPvalA').val(ui.value);
            fnShowPrice();
        }
    });

    fnInitSliders();

// =================================================
//
    $("div.PCmatiere a").on("mousedown",
        function() {
            var TFresizeColumns = false; // corrected :
            if ($(this) !== OBJcurrentMatiere) { // do not click current
                if (OBJcurrentMatiere) { // reset previous selected item
                    OBJcurrentMatiere.removeClass("current");
                    OBJcurrentMatiere.addClass("opt");

                    OBJcurrentEPset.removeClass("DB");
                    OBJcurrentEPset.addClass("DN");
                    $("input", OBJcurrentEPset).prop("disabled", true);
                    $("input", OBJcurrentEPset).prop("checked", false); // reset EP-radio-buttons : user should select EP again
                    if (OBJepRD) { // reset previous selected item
                        OBJepRD.removeClass("current");
                        OBJepRD.addClass("opt");
                        window.OBJepRD = null;
                    }
                } else { // first time click any Matiere
                    $("#PCcolumn1").height("auto");
                    TFresizeColumns = true;
                }
                OBJcurrentMatiere = $(this);
                OBJcurrentMatiere.removeClass("opt");
                OBJcurrentMatiere.addClass("current");

                OBJcurrentEPset = $("#RDepList"+$(this).attr("data-ix")); // prop() does NOT function here !?
                OBJcurrentEPset.removeClass("DN");
                OBJcurrentEPset.addClass("DB");
                $("input",OBJcurrentEPset).prop("disabled",false);

                if (TFresizeColumns) {
                    fnTFresizeColumns();
                }
                $("#PCprice").css("display","none"); // visiter must select an ep first
            }
        }
    );
    $("div.PCmatiere a").on("mouseup",
        function() {
            window.setTimeout("fnBlurCurrentMatiere()",50); // some delay needed !?
        }
    );



    $("div.PCep input").prop("disabled",true); // only the EP-radio-buttons of a selected material will be included in the POST

     //noinspection JSJQueryEfficiency,JSJQueryEfficiency
     $("div.PCep a").on("mousedown",
        function() {
            if ($(this) !== OBJepRD) { // do not click current
                if (OBJepRD) { // reset previous selected item
                    OBJepRD.removeClass("current");
                    OBJepRD.addClass("opt");
                }
                OBJepRD = $(this);
                OBJepRD.removeClass("opt");
                OBJepRD.addClass("current");
                $("#PCprice").css("display","block");
                fnShowPrice(); // custom function for each product;
            }
        }
    );

    $("div.PCep a").on("mouseup",
        function() {
            window.setTimeout("fnBlurEPradio()",50); // some delay needed !?
        }
    );

    fnTFresizeColumns();

}); // ### END document.ready
// ================================================
//


Часовой пояс GMT +3, время: 03:26.