Комбобокс в JS форме.
-
@ruzne Случайное значение выбирает, с этим так же нет проблем. Но Вообще Вы правы, методом народного тыка подобрать соответствия и дело в шляпе :) Но очень интересует причина таких вот результатов.
-
@ruzne Идея с соответствие провальна. Первая итерация, добавление первого языка, причем любого - происходит как положена. Сказал выбрать "Польский" его и выбрало, попробовал "Корейский" - выбрало "Корейский". Все чудесно, работает. Добавил язык.
Вторая итерация все ломается. Например, порядковый номер языка "Иврит" - 8. Если при первом прогоне выбрать его, при втором прогоне указать "Испанский" под порядковым номером 9 - все ломается и выбирает что угодно, но не "Испанский". Но если указать "Греческий" 7, то все работает как надо. И с любым языком чей порядковый номер выше первого, то есть "Иврит".
В общем проблема в том, что выбранный уже ранее язык скрывается из списка, а далее корректная работа прекращается. Может есть какой-то способ учитывать скрытые элементы при работе блока программы?
-
@Artifexter Странное поведение комбобокса, скиньте ссылку. Установить комбобокс по значению перебирает все варианты по очереди, и при соответствии текста - выбирает.
Я бы всё таки посмотрел какой запрос уходит после отправки поста и работал бы на запросах, в разы быстрее, и порою даже проще.
Нажмите захват запросов
а потом отправите форму.
-
@Artifexter
если работает выбрать случайное значение, то
выбрать случайное значение, получить текст, если выбрано не то что нужно повторять пока переботом не будет венгерский)))ну по крайней это сто рабочий вариант
-
@ruzne Случайное значение может повторятся, нужный вариант в итоге будет очень долго выбираться. Да! Очень важный момент, значение комбобокса чувствительны к регистру. Попробуйте из кода элемента взять текст и использовать именно его.
-
@Artifexter правмльно лм я понимаю, что на момент второго выбора в комбобоксе выбран предыдущий елемент, тоесть стоит дефолтным?
Если так, то просто установите индекс комбобокса в 0, потом выбирайте нужный
-
А что если выбрать язык а потом с помощью >MACTH> кликнуть на нужный язык
-
Благодарю всех за идеи, но...
Перебор не помогает, так как блок "Получить Текст" выполняемый на строке комбобокса выдает строку:
"Выберите языкАнглийскийАрабскийБолгарскийВенгерскийВьетнамскийГолландскийГреческийИвритИспанскийИтальянскийКитайскийКорейскийНемецкийНорвежскийПерсидский (фарси)ПольскийПортугальскийРумынскийТурецкийУкраинскийФинскийФранцузскийЧешскийШведскийЯпонский"
Какой бы из языков не был выбран, я получаю строку с перечислением всех языков, и как Вы понимаете, нет возможности как-то сравнить или сопоставить выбор.
Момент, что чувствителен к регистру - учел. Да и если с этим что не так, то выбирается по умолчанию самый крайний язык.
Через >MACTH> не помогло.
А вот с захватом HTTP запросов разбираюсь...Возник такой вопрос, можно ли автоматизировать изменение кода страницы по ходу выполнения скрипта? Поясню. Если убрать стили элементов скрывающие уже выбранные языки при отработке блока установки комбобокса по значению - все работает отлично. Речь идет о -
Конечно в ручном режиме я могу зайти и убрать не нужные стили, но вот как сделать, что бы сам скрипт убирал лишнее до выбора языка?
-
@Artifexter можно есть вариант удалить с помощью js и есть функция в bas установить значение атрибута и указать пустое значение атрибута style
-
elems = document.querySelectorAll('option[style="display: none;"]'); for (var i = 0; i < elems.length; i++){ elems[i].style.display = ""; }
-
@ruzne Огромное Спасибо Вам за код. Все заработало отлично, продолжаю колупать свой скрипт. И большое спасибо всем, кто помогал советами.