Окно подтверждения Кнопка отмены не работает

Я создаю свой первый проект laravel и пытаюсь сделать окно подтверждения для моей кнопки «Удалить». Дело в том, что появляется окно подтверждения, но если я нажму «подтвердить» или «отменить», оно все равно удалит данные. Можете ли вы помочь мне?

Вот мой код:

<a id="demo" href="{{route('viewfile2.delete2', $down->id)}}?{{time()}}">
  <button type="submit" class="btn btn-primary" style="background-color:red;"onclick="myFunction()">
      Delete
    </button>
</a>
                      
    
    
    <script>
        function myFunction(){
        	return confirm('Are you sure?');
    }
    </script>


person Gabrijel Batista    schedule 02.05.2020    source источник


Ответы (2)


Чтобы предотвратить отправку данных из формы, замените type="submit" на type="button" и замените код JavaScript, проверив возвращаемое значение вызова подтверждения, если оно верно, то отправьте форму программно.

В целях тестирования я сделал это:

    <form id="deleteFormId" action="http://yourwebsite.kom/doDelete/4598765">
    <button type="button" onclick='myFunction()'>Delete</button>
    </form>
      </body>
    </html>

    <script>
    function myFunc(){
    if (window.confirm("Are You Sure ?")) { 
      document.querySelector('#deleteFormId').submit();
    }
    }
    </script>

См. пример Codepen и документация Document.querySelector().

person Redha Achour    schedule 02.05.2020
comment
Когда я это делаю, я по-прежнему получаю окно подтверждения, но теперь обе кнопки, «Подтвердить» и «Удалить», не удаляют данные... до того, как обе удалили данные, теперь ни одна из них не удаляет данные. - person Gabrijel Batista; 03.05.2020
comment
Я понял. пришлось изменить: document.querySelector('#deleteFormId').submit(); to document.getElementById('deleteFormId').submit(); Спасибо за помощь! - person Gabrijel Batista; 03.05.2020
comment
Рад, что это помогло! для будущих пользователей: я сделал этот codePen codepen.io/redhax/pen/OJyOMZj и для справки of document.querySlector, взгляните на это в MDN: developer.mozilla.org/en-US/docs/Web/API/Document/querySelector - person Redha Achour; 03.05.2020

Это так же просто

<a href="{{route('viewfile2.delete2', $down->id)}}?{{time()">
     <i class="far fa-trash-alt trash_color" onclick="return confirm('If you delete {{$down->id}} it will be permanently deleted\nAre you sure?')"></i>. 
</a>
person A.A Noman    schedule 03.05.2020