Отключение нескольких нажатий кнопок работает, но не обновляет мои данные - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь предотвратить повторное нажатие кнопки, чтобы избежать повторной отправки запросов.Отключение работает, но мои данные для отправки или обновления не выполняются.

<form class="detail_form" method="POST" action="{{ url('update', $id) }}" enctype="multipart/form-data">
@csrf
    <button class="btn btn-update accntfrm_btn" type="submit" id="btn-update">Update</button>
</form>

$("#btn-update").on('click', function (event) {
    event.preventDefault();
    $(this).prop('disabled', true);
    setTimeout(function(){el.prop('disabled', false); }, 3000);
});

Как я могу выполнить свои обновления и запретить множественные клики одновременно?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019
event.preventDefault();

запрещает действие формы по умолчанию, это означает, что ваша форма не будет отправлена ​​на сервер.то, что вы можете сделать, это использовать ajax или, возможно, axios, если он у вас установлен, для отправки вашей информации на сервер.Поскольку у вас, очевидно, есть jquery, вы можете сделать ajax-запрос на ваш сервер, чтобы обновить вашу информацию, например,

`const route = "{{ route('update', $id)}}";`

или const route = "/route/to/your/server";

`$.post(route, 
        {//add a body if you need to send some information to the server
          //it is optional}, 
        function(data, status){// in this callback you can create a feedback 
                               //from a successful trip to and from the server 
                               //for your users

                })`

.fail(function(error){ //in this callback you can handle errors from a failed trip //to and from the server });

0 голосов
/ 01 апреля 2019

Используйте как это в атрибуте действия Form,

{{ route('update', ['id'=>$id]) }}

Я думаю, это ваш маршрут,

Route::post('/update/{id}','YourController@your_function')->name('update');

и в вашем контроллере,

   public function your_function(Request $request, $id){ // your code }

и если вы хотите идти в чистом виде,

используйте Form класс

    {!! Form::open(['route' => ['update', 'id'=>$id], 'files' => true, 'class' => 'detail_form']) !!}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...