Как передать параметр?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Как передать параметр?

Сообщение sergejey » Вт окт 10, 2017 11:27 am

urldecode не нужно на сервере делать -- оно происходит автоматически.
а для отправки да, нужно urlencode (если на PHP) или encodeURIComponent (если на JavaScript). это стандартное кодирование GET-запросов, оно не связано с php и системой, просто так принято их веб-серверу передавать, а пробел просто ломает запрос. там не только пробел может такое учудить, так что лучше по возможности всегда кодировать данные.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: Как передать параметр?

Сообщение homester » Пт авг 28, 2020 7:19 pm

В сцене есть обработка кнопки
<div class="button3" onClick="callMethod('Main.test',array('value'=>1));"></div>
Без передачи параметра код работает, с передачей, - нет. Это вообще возможно из сцены сделать?
Raspberry Pi3 B+, v4.44, внешняя з/к
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Как передать параметр?

Сообщение Chainik » Пт авг 28, 2020 7:54 pm

Вот такая строчка без проблем передает параметр, во всяком случае, из меню.

Код: Выделить всё

<div onClick='runScript("lightingOff","location=1-1_102");'><img src="\cms\scenes\styles\button\i_button.png"></div>
Попробуйте по аналогии:

Код: Выделить всё

<div class="button3" onClick='callMethod("Main.test","value=1");'></div>
За это сообщение автора Chainik поблагодарил:
homester (Пт авг 28, 2020 8:26 pm)
Рейтинг: 1.16%
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Как передать параметр?

Сообщение fandaymon » Пт авг 28, 2020 8:12 pm

homester писал(а):
Пт авг 28, 2020 7:19 pm
В сцене есть обработка кнопки
<div class="button3" onClick="callMethod('Main.test',array('value'=>1));"></div>
Без передачи параметра код работает, с передачей, - нет. Это вообще возможно из сцены сделать?
В сцене же джаваскипт используется, а не php. Надо задавать массив так, как это делает js. Вроде бы должно быть так

{ "value": 1 }
За это сообщение автора fandaymon поблагодарил:
homester (Пт авг 28, 2020 8:18 pm)
Рейтинг: 1.16%
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: Как передать параметр?

Сообщение homester » Пт авг 28, 2020 8:18 pm

fandaymon писал(а):
Пт авг 28, 2020 8:12 pm
homester писал(а):
Пт авг 28, 2020 7:19 pm
В сцене есть обработка кнопки
<div class="button3" onClick="callMethod('Main.test',array('value'=>1));"></div>
Без передачи параметра код работает, с передачей, - нет. Это вообще возможно из сцены сделать?
В сцене же джаваскипт используется, а не php. Надо задавать массив так, как это делает js. Вроде бы должно быть так

{ "value": 1 }
Уже второй раз я натыкаюсь на джаву, однако придется изучать ...
Raspberry Pi3 B+, v4.44, внешняя з/к
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: Как передать параметр?

Сообщение homester » Пт авг 28, 2020 8:26 pm

Chainik писал(а):
Пт авг 28, 2020 7:54 pm
Вот такая строчка без проблем передает параметр, во всяком случае, из меню.

Код: Выделить всё

<div onClick='runScript("lightingOff","location=1-1_102");'><img src="\cms\scenes\styles\button\i_button.png"></div>
Попробуйте по аналогии:

Код: Выделить всё

<div class="button3" onClick='callMethod("Main.test","value=1");'></div>
Пробовал,- обломился.
Raspberry Pi3 B+, v4.44, внешняя з/к
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Как передать параметр?

Сообщение fandaymon » Пт авг 28, 2020 8:31 pm

homester писал(а):
Пт авг 28, 2020 8:18 pm
fandaymon писал(а):
Пт авг 28, 2020 8:12 pm
homester писал(а):
Пт авг 28, 2020 7:19 pm
В сцене есть обработка кнопки
<div class="button3" onClick="callMethod('Main.test',array('value'=>1));"></div>
Без передачи параметра код работает, с передачей, - нет. Это вообще возможно из сцены сделать?
В сцене же джаваскипт используется, а не php. Надо задавать массив так, как это делает js. Вроде бы должно быть так

{ "value": 1 }
Уже второй раз я натыкаюсь на джаву, однако придется изучать ...
Не джава - джаваскрипт. Это всё-таки разные языки
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: Как передать параметр?

Сообщение homester » Пт авг 28, 2020 8:36 pm

fandaymon писал(а):
Пт авг 28, 2020 8:31 pm
Не джава - джаваскрипт. Это всё-таки разные языки
Лишний раз доказывает, что в этой области я не секу.
Raspberry Pi3 B+, v4.44, внешняя з/к
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Как передать параметр?

Сообщение Chainik » Пт авг 28, 2020 9:32 pm

Вы напишите, пожалуйста, по поводу результата, получилось ли что-нибудь, и если да, то как выгладит правильный код.
Ответить