В окне подтверждения кнопка «Отмена» не работает - PullRequest
1 голос
/ 03 мая 2020

Я строю свой первый 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>

Ответы [ 2 ]

2 голосов
/ 03 мая 2020

Чтобы ваша форма не отправляла данные, замените 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 () документация .

0 голосов
/ 03 мая 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>
...