Перейти к содержанию
Авторизация  
ChaoticBD

Переменные в html

Рекомендуемые сообщения

Добрый день!

На досуге пилил некое подобие комиссионного магазина и столкнулся с проблемой в виде переменных:

Требуется получить от клиента стоимость, попытался реализовать как это сделано в других местах:

							<td><edit var="qbox" width=120 height=15></td>
							<td width=100> <button value="Sell" action="bypass -h _bbscommission;sell,#{id},$qbox,57,1" width=60 height=33></td></tr>

По идее значение из var должно попасть в байпас, но по факту мне прилетает _bbscommission;sell,268483539,$qbox,57,1 

Кто подскажет в какую сторону тут можно копать?

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотри как это сделано на аукционе кх

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это случайно не на Пв софте через Кб сделать пытаетесь? Я как с ним не воевал - адекватный вар с едитбокса он мне так и не присылал, зато с обычного хтлм - легко. ) Если Вы через КБ, то возможно косяк в обработчиках (как, например, не работает _exc в мультисселах с КБ, но работает в хтмл окне), а возможно в хтмл движке ИЛа в целом. Попробуйте через обычное окно сделать, если делаете с КБ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Советую пробелы воткнуть вокруг переменной - некоторые клиенты без этого в строке байпасса переменную найти не могут.

  • Like 1
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, это попытка сделать внутри CB, сборка h5 от мобиуса.

В рамках обычного окна - хотелось бы сделать все красиво, так что оставлю как запасной вариант.

пробелы пробовал - не получилось, все так же не видит переменную =с

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

UPD: вынес код в html файл и добавил пробелы - данный вариант отработал. При генерации самой html в коде - были проблемы. Спасибо всем.

Изменено пользователем ChaoticBD
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще возник вопрос, мб кто знает:

есть комбобоксы + окошко ввода + кнопка отфильтровать:

<combobox width=80 var=type list="ANY;WEAPON;ARMOR;JEWELS;OTHER">
<td>Filter: </td>
<td width=100><edit var="filter" width=120 height=15></td>
<td width=100><button value="Filter" action="bypass -h _bbscommission;list, $type , $grade , $filter ,0" width=60 height=30
back="l2ui_ct1.button.button_df_small_down" fore="l2ui_ct1.button.button_df_small">

если оставить поле ввода пустым - появляется ошибка "введите текст меньше 3000 символов"(см скрин)

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

Shot00000.bmp

Изменено пользователем ChaoticBD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 06.07.2021 в 22:55, ChaoticBD сказал:

Еще возник вопрос, мб кто знает:

есть комбобоксы + окошко ввода + кнопка отфильтровать:


<combobox width=80 var=type list="ANY;WEAPON;ARMOR;JEWELS;OTHER">
<td>Filter: </td>
<td width=100><edit var="filter" width=120 height=15></td>
<td width=100><button value="Filter" action="bypass -h _bbscommission;list, $type , $grade , $filter ,0" width=60 height=30
back="l2ui_ct1.button.button_df_small_down" fore="l2ui_ct1.button.button_df_small">

если оставить поле ввода пустым - появляется ошибка "введите текст меньше 3000 символов"(см скрин)

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

Shot00000.bmp 5.91 \u041c\u0411 · 1 download

Можно задать ему дефолтное значение, которое потом, в случае если в строке ввода длина переменной больше/равна 1, то заменять.

Изменено пользователем Rolo
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  

1 минуту назад, Rolo сказал:

Можно задать ему дефолтное значение, которое потом, в случае если в строке ввода длина переменной больше/равна 1, то заменять.

 

Html так умеет? О_о 

Это выглядит как что-то на стороне клиента. Так как при дебаге прилетает сообщение не смотря на брекпоинт в RequestBypassToServer в самом начале =с

Изменено пользователем ChaoticBD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
28 минут назад, ChaoticBD сказал:

  

 

Html так умеет? О_о 

Это выглядит как что-то на стороне клиента. Так как при дебаге прилетает сообщение не смотря на брекпоинт в RequestBypassToServer в самом начале =с

Сейчас под спойлером будет больно глазам, но как раз такая же ситуация была. Это точки сохранения телепорта, строка ввода имени, я 4 позиции отвел и обозначил их как "_", и они же считываются через var в едитбоксе, в случае незаполнения всех - заменяются на пустоту. Реализация там от бога просто, но суть должна быть ясна. )) 
Это, к слову, даже ИЛ клиент понимал.

Спойлер


		if(command.startsWith("_bbsportpt_add") && player.getPcPoints() >= PCcost) {
			String[] name = command.substring(15).trim().split(" ");
			if (name[1].equals("_")){
				name[1] = "";
				if (name[2].equals("_") && name[3].equals("_") && name[4].equals("_")){
					name[1] = "   Сохраненная Точка";
				}
			}if (name[2].equals("_")){
				name[2] = "";
			}if (name[3].equals("_")){
				name[3] = "";
			}if (name[4].equals("_")){
				name[4] = "";
			}

 

упд: ах да, забыл, сам эдит бокс же: 
 

Спойлер

<edit height=22 var=\"name\" width=170 length=16></td><td><button value=\"Сохранить\" a action=\"bypass -h _bbsportpt_add "+sub[0]+" $name _ _ _ _\" width=96 height=32 back=\"L2UI_CT1.Button_DF_down\" fore=\"L2UI_CT1.Button_DF\">

 

 

Изменено пользователем Rolo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
51 минуту назад, Rolo сказал:

Сейчас под спойлером будет больно глазам, но как раз такая же ситуация была. Это точки сохранения телепорта, строка ввода имени, я 4 позиции отвел и обозначил их как "_", и они же считываются через var в едитбоксе, в случае незаполнения всех - заменяются на пустоту. Реализация там от бога просто, но суть должна быть ясна. )) 
Это, к слову, даже ИЛ клиент понимал.

  Скрыть контент



		if(command.startsWith("_bbsportpt_add") && player.getPcPoints() >= PCcost) {
			String[] name = command.substring(15).trim().split(" ");
			if (name[1].equals("_")){
				name[1] = "";
				if (name[2].equals("_") && name[3].equals("_") && name[4].equals("_")){
					name[1] = "   Сохраненная Точка";
				}
			}if (name[2].equals("_")){
				name[2] = "";
			}if (name[3].equals("_")){
				name[3] = "";
			}if (name[4].equals("_")){
				name[4] = "";
			}

 

 

Данная реализация не поможет - сообщение, судя по всему, прилетает со стороны клиента(видимо нужно писать в тот раздел), на данном шаге у меня ошибок нет - там стоит обработчик для пустых значений и null-ов.

filter != null && !filter.isEmpty() && !filter.equals("null")

на все случаи жизни, блин хД

Изменено пользователем ChaoticBD
ошибочно все под спойлер отправил хД

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ChaoticBDа что должно происходить если в поле ничего не ввели? Сейчас выводит ошибку, что оно пустое, а Вы бы хотели бы чтобы что показывало? Все еще думаю, что дефолтный байпасс, который потом заменялся бы, мог бы решить вопрос, хотя может я не понял задачи адекватно. ) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  

33 минуты назад, Rolo сказал:

ChaoticBDа что должно происходить если в поле ничего не ввели? Сейчас выводит ошибку, что оно пустое, а Вы бы хотели бы чтобы что показывало? Все еще думаю, что дефолтный байпасс, который потом заменялся бы, мог бы решить вопрос, хотя может я не понял задачи адекватно. ) 

 

@Rolo по факту мне нужно убрать сообщение, которое выскакивает поверх КБ. Данный инпут - фильтр поиска вещей по названию, помимо него есть комбо бокс выбора грейда и типа предмета. По идее игрок может просто выбрать S грейд, любой тип предмета и пустой фильтр для отображения всех предметов S ранга. Что уйдет в байпасс мне не принципиально, я подстроюсь под любой исход. Сейчас уходит просто "" и меня это вполне устраивает.

 

Изменено пользователем ChaoticBD
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, ChaoticBD сказал:

@Rolo по факту мне нужно убрать сообщение, которое выскакивает поверх КБ. Данный инпут - фильтр поиска вещей по названию, помимо него есть комбо бокс выбора грейда и типа предмета. По идее игрок может просто выбрать S грейд, любой тип предмета и пустой фильтр для отображения всех предметов S ранга. Что уйдет в байпасс мне не принципиально, я подстроюсь под любой исход. Сейчас уходит просто "" и меня это вполне устраивает.

Вероятно это систринг, полагаю на сервере Вы уже все изучили и его там никто не зовет, следовательно, видимо и правда клиент. Дебильные костыли в виде выпила сисстринга из клиента не предлагать? :D

  • Haha 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, Rolo сказал:

Вероятно это систринг, полагаю на сервере Вы уже все изучили и его там никто не зовет, следовательно, видимо и правда клиент. Дебильные костыли в виде выпила сисстринга из клиента не предлагать? :D

На сервере данную строку ни кто не юзает, сообщение прилетает сразу, даже если сервер стоит  в дебаге на получении пакета. Так что да, это что то в клиенте. Но выпилом самого сообщения не получится убрать появляющееся окошко (см скрин). Думаю, проблема где то глубже. При этом, если в //admin в окошке chars не ввести в строку ничего  и нажать на кнопку find character - команда просто не сработает и ничего поверх вылезать не будет

upd: вариант с value="smthing" в edit тоже не проканал

Изменено пользователем ChaoticBD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...