Передать данные из одной страницы на другую

Есть такая вот форма:

<form method="GET" action="<?php echo $link_address;?>">
    <input type="hidden" name="quantity" id="qntyt" value="1" min="1" />        
    <input type="hidden" name="hoursform" id="hoursf" value="<?php echo round( $pricing->hours ); ?>" min="1" />
    <input type="hidden" name="priceform" id="pricef" value="<?php echo $pricing->total; ?>" />
    <input type="hidden" name="addonform" id="addonf" value="<?php echo $addon->price; ?>" min="0" />
    <input type="submit" value="Забронировать и оплатить" />

А перед ней вот такая таблица:

<table>
    <tbody>
        <tr>
            <td><?php esc_html_e('Hours', 'routiz'); ?></td>
            <td>&#10005; <span id="hoursprice"><?php echo round( $pricing->hours ); ?></span></td>
        </tr>
        <tr>
            <td><?php esc_html_e('Price', 'routiz'); ?></td>
            <td><span id="simpleprice"><?php echo $pricing->base; ?></span>₽</td>
        </tr>


        <tr>
            <td><?php echo esc_html( $addon->name ); ?></td>
            <td><span id="addonlprice"><?php echo $addon->price; ?>₽</td>
        </tr>
        <tr>
                <td><?php echo esc_html( $pricing->payment_processing_name ); ?></td>
                <td><?php echo (int) $payment_processing_percentage; ?>%</td>
        </tr>
        <tr>
            <td><strong><?php esc_html_e('Total', 'routiz'); ?></strong></td>
            <td><strong><span id="totalprice"><?php echo $pricing->total; ?></span>₽</strong></td>
        </tr>
    </tbody>
</table>

Форма должна отправлять данные из этой таблицы, но т.к поля input не "привязаны" к таблице - "чуда не происходит".

В итоге всем произвольным полям я задаю свои ID и "цепляю" их например из GET запроса, вида:

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var foo = getParameterByName('hoursform');
var bar = getParameterByName('addonform'); 
var baz = getParameterByName('priceform'); 
var pricevalue = parseFloat(baz);   

Пробовал так же через cookie:

$('#oplataaddon').on('submit', function() {
var cookievalue,
    cookiepath;
cookievalue = $('span#totalprice').html();  
cookiepath = "/"; 
document.cookie="var2=" + cookievalue + "; path=" + cookiepath;
});

И через приравнивание цены к = 1, а числа к "цене":

$('#oplataaddon').on('submit', function() {
var simplevalue = parseFloat($('span#simpleprice').text());
var addonvalue = parseFloat($('span#addonlprice').text());
if ( $('span#addonlprice').length > 0){
    var addonan = addonvalue;
} else {
    var addonan = 0;
}

Все три способа работают, но работают не так как нужно. Cookie "переписываются" после каждой отправки формы, GET запрос не отправляет форму (и естественно логично передаёт параметры в url из которых их можно забрать), а "костыль" с количеством и приравниванием его к цене не очень то вариант. Осталось только записывать все отправленные данные в БД? Верно я понимаю? Вариантов поизящнее нет? Нельзя ли отправлять POST запрос с формой и после отправлять уже GET, что бы передать данные в урл или что-то типа того?


Ответы (0 шт):