Не передается значение "глобальной" переменной в php-скрипт
Помогите js-нубу :help:
Определена переменная типа глобальной, т.е. видима во всей хтмл-е. Сначала так писал в head-e <script type="text/javascript"> nshkaf = '0' </script> потом так (разницы в результате нет): <script type="text/javascript"> window.nshkaf = '0' </script> Короче, этой переменной хочется присвоить значение (здесь "e1"), в зависимости от того, на какую кнопку жмет юзер, выбирая товар: <a href="#" onClick="vblock('e1','еще данное'); return false">заказать</a> А vblock у нас функция в head-e: <script type="text/javascript"> function vblock( nsh, pokt) { window.nshkaf = nsh; document.getElementById('roditelskoe_okno').style.display = pokt; } </script> И наконец, наша переменная nshkaf присваивается скрытому полю формы, и должна уйти php-скрипту, который ее отрабатывает: <form name="oknoshk" action="sendform.php" method="post"> ... <input type="hidden" name="typzakaz" value= "" /> ... <script type="text/javascript"> typzakaz = window.nshkaf; </script> ... <input type="submit" value="Отправить" /> </form> Короче, никакое значение в php не передается :( Почему? Где засада? Вроде простая совсем фигня, ан нет, не работает. Трепетно ожидаю помощи, ибо измучилсz совсем уже... |
во-1, то что вы называете "типаглобальной" переменной, совсем таковой не является.
в обязательном порядке нужно использовать var во-2, так как это сделано у вас - не получится присвоить значение переменной скрытому полю. ну и собственно, засада в том, что вы вообще не разбираетесь в предметном вопросе, и есть два выхода - начать изучение предмета с нуля (если в перспективе хотите именно этим заниматься) и дать немного денег тому кто умеет (если вам нужно бегом-бегом сайт кому-то поправить) |
Почему нельзя сразу присваивать значение скрытому полю, вместо того чтобы действовать через глобальную переменную ?
|
deivan, Ответ ваш, может, и достойный профессора, но... неконкретный.
Или вы намекаете, что дальше - только за деньги? |
Madzi, ну, это всё в разных местах кода происходит...
|
А чем принципиально отличается
window.nshkaf = value; от document.getElementById('hf').value = value; ? |
Madzi, вы меня спрашиваете? Я не знаю, честно...
Так что с моей проблемой? Пока не вижу содержательных советов :( |
если использование вместо глобальной переменной непосредственно скрытого в дом инпута не содержательный совет, то я не знаю чем вам помочь.
|
А чем же плохо юзанье глоб.перем-ой? И где косяк в моем коде?
|
Глобальные переменные плохи тем, что засоряют общее пространство. Когда вам понадобится использовать сторонний скрипт, или несколько своих, где используется одно и тоже имя переменной для разных целей, вы будете неприятно удивлены.
Иногда это не большая проблема, а иногда она может привести к переписыванию 1000+ строк кода. Косяк в том, что у вас typzakaz = window.nshkaf; вместо document.getElementById('typzakaz') = window.nshkaf; |
Часовой пояс GMT +3, время: 11:51. |