Как сделать на странице автоматическое срабатывание элемента?

116
01 сентября 2021, 16:00

Как сделать на странице автоматическое срабатывание элемента button onclick, при выборе в select-е определенного значения и сохранение его на другой странице?

<select name="change_status" id="ajax_change_status" class="select">
                    <? if ($subpage == "edit2") { ?>
                        <option value="1">Вернуть заявку в обработку</option>
                    <? } else { ?>
                        <option value="1">Выберите новый статус заявки</option>
                    <? } ?>
                    <option value="2">В кредите отказано</option>
                    <option value="3" <? if (isset($in_bank['status']) && $in_bank['status'] == 3) print 'selected'; ?>>
                        Кредит предоставлен
                    </option>
                    <option value="4">Ошибочный ввод</option>
                    <option value="5">Отказ клиента</option>
                    <option value="8">Отказ клиента по вине ТО</option>
                    <option value="10">Возврат</option>
                </select>

$("#result_html_"+bank+" #"+bank+"_buttons").append('<input type="button" value="Отказаться" class="search_banks_button_red" id="'+bank+'_cancel_button" onclick="cancel_blank(\''+bank+'\', \''+text.idblank+'\')" />');

Вот select и сама кнопка, мне нужно при выборе select volue = 5 нажималась кнопка автоматом

Answer 1

Примерно так:

let select = document.getElementById('select');
select.addEventListener('change', () => {
    if (select.value == 'Определенное значение') {
        // то что нужно выполнить
    }
});
Answer 2

Можно сделать через localStorage, например, вот так:

select.html:

<select id="test">
    <option value="1">No message</option>
    <option value="2">Send message</option>
</select>
<script>
    let select = document.getElementById('test');
    select.addEventListener("change", function(){
         localStorage.setItem('click_the_button', this.value);
    }, false);
</script>

target.html:

<button id="clickme">click me!</button>
<script>
    let clickme = document.getElementById('clickme');
    clickme.addEventListener("click", function(){
        alert('Button clicked!');
    }, false);
    window.addEventListener('storage', function(event) {
        if(event.key === 'click_the_button' && event.newValue === '2'){
            clickme.click();
            localStorage.setItem('click_the_button', null);
        }
    });
</script>
READ ALSO
Как сгенерировать файл docx в браузере на клиенте?

Как сгенерировать файл docx в браузере на клиенте?

Есть ли библиотека с помощью которой можно генерировать файлы docx на клиенте, без node js

131
Переключение блоков на другие блоки когда мишка внизу блока

Переключение блоков на другие блоки когда мишка внизу блока

Доброе время суток !!!э html которая состоит с 4 блоков как сделать что когда мышка подходит к низу блока сразу бросало на следующий нижний блок,...

80
Как загрузить иконку которая будет загружаться лишь при ховере?

Как загрузить иконку которая будет загружаться лишь при ховере?

есть иконка в svg в разных цветах, черный и белый при ховереТаким образом при ховере загружается новая иконка

101
Ошибка: ASSERT failure in QList&lt;T&gt;::operator[]: &ldquo;index out of range&rdquo;, file C:\Qt\5.7\mingw53_32\include/QtCore/qlist.h, line 545

Ошибка: ASSERT failure in QList<T>::operator[]: “index out of range”, file C:\Qt\5.7\mingw53_32\include/QtCore/qlist.h, line 545

В программе где-то есть утечка памяти, но что-то никак не могу её найти и исправитьВследствие чего выдаётся ошибка: ASSERT failure in QList::operator[]: "index...

134