Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2018, 08:59
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

При изменении цвета записывать значение в php переменную
Доброго времени суток!
Есть чекбокс
<input
            type="checkbox"
            form="ORDER_FORM"
            name="sbor"
            id="sbor"
            value = "22"
        onclick="highlight(this);"
        />

При клике на данный чекбокс происходит смена цвета
<script>
    function changeTrColor() {

        var elem = document.getElementsByTagName('input');
        for(i = 0; i < elem.length; i++) {
            var tr = elem[i].parentNode.parentNode;
            if (elem[i].checked)
                tr.style.background = "#b2ffb2";
        }
    }
    window.onload = changeTrColor;

    function highlight(chkbox) {

        chkbox.parentNode.parentNode.style.background = (chkbox.checked ? "#b2ffb2" : "#e0ffff");
    }
</script>

Возможно ли сделать так, если чекбокс отмечен и цвет #b2ffb2, тогда записать значение (например 1) в php переменную и чтобы при обновлении страницы отмеченный чекбокс не сбрасывался? Спасибо.
На данный момент при обновлении страницы чекбокс сбрасывается.
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2018, 09:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от _marisha
Возможно ли сделать так, если чекбокс отмечен и цвет #b2ffb2, тогда записать значение (например 1) в php переменную и чтобы при обновлении страницы отмеченный чекбокс не сбрасывался?
Нужно отправлять запрос на сервер и в нем передавать нужное значение.

А можно записать в куки или локальное хранилище. Тогда можно контролировать цвет на клиенте.
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2018, 09:46
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

ksa, спасибо что откликнулись )
Возможно предоставить пример с вариантом "А можно записать в куки или локальное хранилище" на основании предоставленного кода?
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2018, 10:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от _marisha
Возможно предоставить пример с вариантом "А можно записать в куки или локальное хранилище" на основании предоставленного кода?
По кукам...
https://learn.javascript.ru/cookie
https://ruseller.com/lessons.php?id=593

По хранилищу...
http://htmlbook.ru/html5/storage
https://web.izjum.com/javascript-localstorage
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2018, 11:59
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

ksa, к примеру, нашли значение при отмеченном чекбоксе
function changeTrColor() {

    var elem = document.getElementsByTagName('sbor');

    for(i = 0; i < elem.length; i++)
    {

        var tr = elem[i].parentNode.parentNode;
        var checked = elem[i].checked;
        if (elem[i].checked)
            tr.style.background = "#b2ffb2";
        document.getElementsByTagName('sbor')[0].value = 5;
    }
}

// Вызываем функцию changeTrColor при загрузке страницы
window.onload = changeTrColor;

function highlight(chkbox)
{
    chkbox.parentNode.parentNode.style.background = (chkbox.checked ? "#b2ffb2" : "#e0ffff");
    if (chkbox.checked)
    {
        var Sbor = 1;
        if (Sbor == 1)
        {
            //var SborTrue = 2;
            document.cookie = "SborTrue=2";//добавлено значение 2 в куки
            function get_cookie (cookie_name)
            {
                var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

                if ( results )
                    return ( unescape ( results[2] ) );
                else
                    return null;
            }
            var SborTrue = get_cookie ( "SborTrue" );
            alert(SborTrue);
        }

    }
}

Подскажите, пожалуйста, как это значение записать в php переменную?
После обновления страницы чекбокс слетает
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2018, 13:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от _marisha
как это значение записать в php переменную?
Отправить ajax-запрос на сервер со значением некой переменной...
https://learn.javascript.ru/ajax-xmlhttprequest

На сервере прочитать эту переменную и сделать выводы.
Ответить с цитированием
  #7 (permalink)  
Старый 27.06.2018, 14:16
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,497

Ну вообще не обязательно на сервер пулять дополнительно. Кук достаточно. Просто сервер должен сам брать значение из кук, если есть.
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 28.06.2018, 05:09
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Aetae, спасибо что откликнулись )
А не могли бы Вы на моем примере показать как сделать )
Ответить с цитированием
  #9 (permalink)  
Старый 28.06.2018, 12:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,497

JS:
function highlight(chkbox){
    chkbox.parentNode.parentNode.style.background = (chkbox.checked ? "#b2ffb2" : "#e0ffff");
    document.cookie = 'sbor=' + Number(chkbox.checked) + '; path=/; expires=Mon, 31 Jan 4000 00:00:00 GMT';
}


PHP:
<input 
  type="checkbox"
  form="ORDER_FORM"
  name="sbor"
  id="sbor"
  value = "22"
  onclick="highlight(this);"
  <?=$_COOKIE['sbor'] ? 'checked' : ''?>
/>
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 29.06.2018, 07:38
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Aetae, спасибо Вам огромное, то что нужно Очень сильно помогли, ещё раз спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать значение из AddEventListener в переменную miknn Events/DOM/Window 4 27.06.2018 08:57
Как заставить функцию при запуске увидеть ГЛОБАЛЬНУЮ переменную? возжаждавший Элементы интерфейса 8 23.02.2017 01:27
Динамическое изменение цены при изменении количества товара MrNix21 Элементы интерфейса 9 08.12.2013 21:47
Как при щелчке прибавить значение cookies на единицу. Peter23 Общие вопросы Javascript 6 23.02.2013 13:14
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39