28.01.2015, 01:01
|
Новичок на форуме
|
|
Регистрация: 28.01.2015
Сообщений: 8
|
|
Передать таблицу 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> €</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> €</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>
|
|
28.01.2015, 02:03
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от apapen
|
как мне этот код передать в PHP
|
напиши в html и не мучайся
Сообщение от apapen
|
Мне нужно его в скрипт PHP принять
|
эт ты о чем счас, что значит принять. Может получить. и ...
Объясни подробно, что надо то
|
|
28.01.2015, 02:16
|
Новичок на форуме
|
|
Регистрация: 28.01.2015
Сообщений: 8
|
|
Эта таблица корзины магазина. Я вот тоже уже склонялся к тому чтобы переделать на PHP но при подробном анализе выяснил что по времени будет очень долго. Если есть желание помочь могу дать ссылку.
При нажатие добавить в корзину в этой таблице отображаются детали заказа (металлических изделий) мне нужно эти детали дальше обработать, (подключить платежный шлюз, вывести в деталях заказа(Invoice) и т.д.) и вот тут стопор. Здесь идет подсчет общей суммы. Плюс заказанный товар храниться в LocalStorage. Просто кода javascript много если переделывать то все придется.
Если в терминологии ошибся извиняюсь.
Последний раз редактировалось apapen, 28.01.2015 в 02:23.
|
|
28.01.2015, 02:20
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
почитай
отправка данных формами
отправка данных с помощью аякс
тебе ведь только значения нужны, вот их и надо отправлять. Все остальное мусор.
|
|
28.01.2015, 02:26
|
Новичок на форуме
|
|
Регистрация: 28.01.2015
Сообщений: 8
|
|
Так это же таблица или значения не имеет? Плюс курил долго аякс, так тоже и не вышло. Пустые значения приходят или может проблема глубже?
|
|
28.01.2015, 02:27
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от apapen
|
Просто кода javascript много
|
Помоему в этом коде больше html, чем JavaScript
Ты если хочешь на клиенте генерить, то хотя бы подключи простенький js-шаблонизатор. А что касается передачи в PHP - дык лучше передать чисто данные, а не таблицу ввиде html, не? Но для этого у тебя должно быть нормальное разделение данных и представления (хотяб шаблонизатор), а то ты все в кучу свалил.
__________________
В личку только с интересными предложениями
Последний раз редактировалось danik.js, 28.01.2015 в 02:30.
|
|
28.01.2015, 02:32
|
Новичок на форуме
|
|
Регистрация: 28.01.2015
Сообщений: 8
|
|
Ребят не нападайте) Сам за одним мастером доделываю честно. Поэтому может где что то упустил. И теперь задача стоит использовать базы данных.
|
|
28.01.2015, 02:37
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от apapen
|
И теперь задача стоит использовать базы данных
|
Упорство, труд, все перетрут
|
|
28.01.2015, 02:40
|
Новичок на форуме
|
|
Регистрация: 28.01.2015
Сообщений: 8
|
|
Да уж, хотел время с экономить а получилось как всегда. Так что уважаемые гуру программирования оставить всю эту затею да переписать все, очень плох код?
|
|
28.01.2015, 02:44
|
Новичок на форуме
|
|
Регистрация: 28.01.2015
Сообщений: 8
|
|
Сообщение от 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
// ================================================
//
|
|
|
|