Member 13334635 Ответов: 1

Передача переменной javascript в форме


Я новичок в Javascript, и из того, что я прочитал, я предполагаю, что есть гораздо лучший способ моего подхода, но вот он идет.

У меня есть форма с onclick таким образом, что при нажатии на четкое изображение в ячейке таблицы фоновая картинка ячейки меняется (показывая, что она была выбрана или Не выбрана, если щелкнуть еще раз). Все это работает, теперь я хочу определить некоторую переменную так, чтобы при нажатии кнопки отправки формы передавалась переменная формы, показывающая, выбрал ли пользователь эту опцию или нет.

Функциональный javascript я нашел в интернете:

var curPic1 = 0;
window.onload=function() {
    document.getElementById('clear-kayangan').onclick=function() {
        curPic1 = (curPic1 == 0)? 1 : 0;
        document.getElementById('td_kayangan').style.backgroundImage = (curPic1 == 1)? 'url("pics/map-kayangan-lake-selected.png")' : 'url("pics/map-kayangan-lake.png")';
    }
}


Мой план состоял в том, чтобы написать оператор IF, указывающий, что если curPic1 == 1 (выбранное фоновое изображение показывает, что пользователь выбрал), я бы создал глобальную переменную, которую затем мог бы передать php в виде:

$spot1 = "<script>document.write(spot1);</script>";
if ($spot1 == 1) echo "<input name='spot1' type='hidden' value='1' />";


В целях тестирования я попробовал:

$spot1=$_POST['spot1'];
if ($spot1=="1") echo "This really works<br>";


и это работает, если я использую If $spot1==0, в результате чего в верхней части моей функции javascript я попробовал следующее:

spot1=0;
var spot1=0;


и внутри функции JavaScript, я пробовал:

spot1 = 1;
window.spot1 = 1;


Я еще не пробовал оператор IF, потому что я просто пытаюсь проверить, работают ли они. Я читал, что я должен был быть в состоянии установить глобальную переменную из функции. Я добавил различные варианты выше по одному. Он работает с spot=0, поэтому я предполагаю, что проблема заключается в том, что он не задается как глобальная переменная внутри функции? Или, может быть, есть лучший подход ко всему этому?

При отправке скрытые переменные формы в конечном итоге будут переданы на другую страницу и использованы там.

Что я уже пробовал:

Я потратил часы, пытаясь учиться на других примерах, но, наверное, я просто слишком новичок в javascipt. Прочтите также некоторые учебные пособия. Спасибо за вашу помощь.

SrikantSahu

Я не думаю , что вы сможете опубликовать переменную javascript в PHP, если только вы не поместите переменное значение в какой-то ввод или другие html-элементы управления. Вы также можете выполнить вызов ajax, где вы можете передать переменную в качестве значения пары ключей json.

1 Ответов

Рейтинг:
2

W∴ Balboos, GHB

Поскольку это форма, создайте вход с атрибутом "скрытый". Установите ее значение, через дом (документ.метода getElementById('hidden_input_id').значение= "что-то") как цель вашего событию onclick ().

Воспользуйтесь преимуществами кэширования информации с помощью "скрытого" ввода-это действительно полезно.