SlavaMaxwell
@SlavaMaxwell
Frontend разработчик

Как связать input и button?

Всех приветствую, есть кнопка - таб, на ней должен быть input, но при клике на input всплытие от кнопки не происходит, как связать input с кнопкой?
вот js табов
(function() {
    let tabMenus = document.querySelectorAll('.js-item-link');
    let tabContents = document.querySelectorAll('.tab_content');
     
 
    for (var i = 0; i < tabMenus.length; i++) {
 
        tabMenus[i].addEventListener('click', function(e) {
     
             e.preventDefault();
    
             for (var i = 0; i < tabMenus.length; i++) {
                 tabMenus[i].className = 'js-item-link';
             }
 
             this.className = 'js-item-link is-active';
             
         
             for (var i = 0; i < tabContents.length; i++) {
                tabContents[i].className = 'tab_content';
             }
             
             document.getElementById(this.dataset.id).className = 'tab_content is-active';
 
         });
     }
}());

разметка
<div class="modal-buy-card__tab-menu">
                                        <button type="button" data-id="about" class="js-item-link is-active">
                                            <span>Дата</span>
                                        </button>
                                        <button type="button" data-id="works" class="js-item-link">
                                            <span>Время</span>
                                            <span>13:00 (МСК)</span>
                                        </button>
                                    </div>
                                    <div class="modal-buy-card__tab-container">
                                        <div class="tab_content is-active" id="about">
                                            <input class="modal-buy-card__date-calendar flatpickr flatpickr-input active" type="text" readonly="readonly">
                                            <div>
                                                <button>отмена</button>
                                                <button>OK</button>
                                            </div>
                                        </div>
                                        <div class="tab_content" id="works">
                                           <p>Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works WorWorks Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works</p>
                                        </div>
                                    </div>

сам input плагин календаря flatpickr, но в разметке он тоже есть, пожалуйста подскажите решение на чистом JavaScript
  • Вопрос задан
  • 3212 просмотров
Решения вопроса 1
@genteeklaik
маленько не понял вопроса но это может и есть решение ?_?

поменял:
<button>OK</button> на <button onclick="obr()">OK</button>

из самовызывающей функции переписал на обычную (function() {code}()) на function obr(){}

на крайний случай если не понятно что поменял):
{code}

<button type="button" data-id="about" class="js-item-link is-active">
                                            <span>Дата</span>
                                        </button>
                                        <button type="button" data-id="works" class="js-item-link">
                                            <span>Время</span>
                                            <span>13:00 (МСК)</span>
                                        </button>
                                    </div>
                                    <div class="modal-buy-card__tab-container">
                                        <div class="tab_content is-active" id="about">
                                            <input class="modal-buy-card__date-calendar flatpickr flatpickr-input active" type="text" readonly="readonly">
                                            <div>
                                                <button>отмена</button>
                                                <button onclick="obr()">OK</button>
                                            </div>
                                        </div>
                                        <div class="tab_content" id="works">
                                           <p>Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works WorWorks Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works Works</p>
                                        </div>
                                    </div>
                                    <script type="text/javascript">
                                        function obr(){
                                            alert("проверка кнопки!_!")
    let tabMenus = document.querySelectorAll('.js-item-link');
    let tabContents = document.querySelectorAll('.tab_content');
     
 
    for (var i = 0; i < tabMenus.length; i++) {
 
        tabMenus[i].addEventListener('click', function(e) {
     
             e.preventDefault();
    
             for (var i = 0; i < tabMenus.length; i++) {
                 tabMenus[i].className = 'js-item-link';
             }
 
             this.className = 'js-item-link is-active';
             
         
             for (var i = 0; i < tabContents.length; i++) {
                tabContents[i].className = 'tab_content';
             }
             
             document.getElementById(this.dataset.id).className = 'tab_content is-active';
 
         });
     }
};
                                    </script>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы