vollthegreat
@vollthegreat
Laravel back-end outsource

При onclick отправляется get, как исправить?

Есть ссылка
<a href="#" onclick="popopen('.syswarning', './delete')" title="Удалить товар" class="button careful u-pull-left">Удалить товар</a>

Накидал такой js
<script>
    function popopen(target, link, delink) {
        event.preventDefault();
        document.getElementById('findelete').href=link;
        document.getElementById('findeleteimg').href=delink;
        document.getElementById('targetimg').src=link;
        TweenMax.to(target, .3, {autoAlpha: 1})
    }
    function popclose(target, imglink) {
        TweenMax.to(target, .2, {autoAlpha: 0})
    }
</script>


и такое модальное окно
<div class="syswarning">
    <div class="sysbox">
        <p class="u-full-width">Действительно удалить?</p>
        <a class="button u-pull-left gray" onclick="popclose('.syswarning')">Отмена</a>
        <a class="button u-pull-right red" id="findelete" href="#">Удалить</a>
    </div>
    <div class="sysshutter" onclick="popclose('.syswarning')"></div>
</div>


При клике на кнопку - открывается окно, с подтверждением, но срабатывает Гет, и товар удаляется, даже если закрыть окно подтверждение. Кто-то сталкивался? Буду рад за любую критику.
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 2
FFxSquall
@FFxSquall
Могу писать код, могу не писать
У вас внутри функции нет event так как вы его туда не передаете в вызове функции. Если всё оставить как сейчас, то нужно сделать так:
1. Либо в конце тела функции написать return false;
2. Либо так
<a href="#" onclick="event.preventDefault();  popopen('.syswarning', './delete')" title="Удалить товар" class="button careful u-pull-left">Удалить товар</a>

или
<a href="#" onclick="popopen('.syswarning', './delete'); return false;" title="Удалить товар" class="button careful u-pull-left">Удалить товар</a>
Ответ написан
trushka
@trushka
Я не вижу в коде, где у вас этот удаляющий товар гет отправляется, скорее всего, в другом месте кода, скорее всего, он на клик первой кнопки повешен. И срабатывает раньше, чем тот код, что вызывает попап, по этому отменить его уже невозможно) В общем, посмотрите в инспекторе, какие события у вас на этой ссылке висят
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы