Как сбросить функциональность формы, если ранее e.preventDefault () был на ее кнопке? - PullRequest
0 голосов
/ 29 марта 2019

У меня есть форма, которая, естественно, делает свое дело, а над формой есть 3 вкладки Bootstrap с некоторым текстом.Если определенная вкладка для Camp открыта, то вместо передачи данных на страницу она должна перенаправить пользователя на страницу контактов.Это работает, но если пользователь щелкнул вкладку для Camp и затем изменил вкладку на что-то другое, форма не сбрасывает ее функциональность.

Как я могу удалить e.preventDefault() внутри reset_form() и позволить форме сделать этовещь?

    var $reservationBtn= $("#js-reservation-btn");

    // Don't send form to it's page, but redirect user to Contact page
    function redirect_form_to_contact_page() {
        $reservationBtn.on('click', function(e) {
             e.preventDefault();
             window.location.href = 'https://www.example.com/contact';
        });
    }

    // Reset form so it works normally
    function reset_form() {
        $reservationBtn.on('click', function(e) {
            return true;
        });
    }

    // Depending on a tab clicked redirect to Contact or reset form
    $("#reservation__list a").click(function() {

        if ($(this).hasClass('js-reservation-tab-btn-camp')) {
            redirect_form_to_contact_page();
        }
        else {
            reset_form();
        }

    });

1 Ответ

0 голосов
/ 29 марта 2019

Попробуйте отменить привязку событие клика

$reservationBtn.unbind('click');
...