При изменении цвета записывать значение в 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 переменную и чтобы при обновлении страницы отмеченный чекбокс не сбрасывался? Спасибо. На данный момент при обновлении страницы чекбокс сбрасывается. |
Цитата:
А можно записать в куки или локальное хранилище. Тогда можно контролировать цвет на клиенте. ;) |
ksa, спасибо что откликнулись )
Возможно предоставить пример с вариантом "А можно записать в куки или локальное хранилище" на основании предоставленного кода? |
Цитата:
https://learn.javascript.ru/cookie https://ruseller.com/lessons.php?id=593 По хранилищу... http://htmlbook.ru/html5/storage https://web.izjum.com/javascript-localstorage |
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 переменную? После обновления страницы чекбокс слетает :( |
Цитата:
https://learn.javascript.ru/ajax-xmlhttprequest На сервере прочитать эту переменную и сделать выводы. |
Ну вообще не обязательно на сервер пулять дополнительно. Кук достаточно. Просто сервер должен сам брать значение из кук, если есть.
|
Aetae, спасибо что откликнулись )
А не могли бы Вы на моем примере показать как сделать ) |
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' : ''?> /> |
Aetae, спасибо Вам огромное, то что нужно :) Очень сильно помогли, ещё раз спасибо :thanks:
|
| Часовой пояс GMT +3, время: 23:27. |