Как использовать Sweetalert в проекте Laravel? - PullRequest
0 голосов
/ 22 октября 2018

Использование сладкого оповещения в моем проекте.Но это не работает.Пожалуйста, помогите мне.Здесь указаны ошибки и используемые коды:

Error screenshot

JS

@section('customJs')
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script>
    $(document).ready(function() {
        $('#hakkimizdaForm').validate();
        $('#hakkimizdaForm').ajaxForm({
            beforeSubmit: function() {

            },
            success: function() {
                swal("Good job!", "You clicked the button!", "success");
            }
        });
    });
</script>
@endsection

AdminPostController.php

public function post_hakkimizda(Request $request)
{
    try {
        unset($request['_token']);
        HakkimizdaModel::where('id', 1)->update($request->all());

        return response(['status' => 'success', 'title' => 'Islem basarili.', 'content' => 'Kayitlar basariyla guncellendi.']);
    } catch (\Exception $e) {
        return response(['status' => 'error', 'title' => 'Islem basarisiz!', 'content' => 'Kayitlar yapilamadi!']);
    }
}

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Вы должны добавить свои правила, сообщения и обработчик отправки в вашей функции проверки, только не нужно добавлять ajaxForm()

$('#hakkimizdaForm').validate({
   ignore : [],
   rules : { 
     // rules here  for validation
   },
   messages : {
     // messages here for validation
   },
   errorPlacement : function (error, element) {
      if (element.hasClass('select2')) {
        error.insertAfter(element.next('span'));
      } 
      else {
        error.insertAfter(element);
      }
   },
   submitHandler : function (form){
        $.ajax({
           type: 'POST',
           url: 'url',
           async: true,
           data: formData,
           processData: false,
           contentType: false,
           beforeSend: function() {

           },
           complete: function () {
              return;
           },
           success: function() {
              swal("Good job!", "You clicked the button!", "success");
           }
        });
   }
});
0 голосов
/ 22 октября 2018

Обновление:

Я использую вашу функцию, работает.

Мой код:

</!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>test</title>
</head>
<body>
    <form action="testForm" id="persondetail" method="post">
    <div>name:<input name="text1" type="text" class="inputbox"></div>
    <div>age:<input name="text2" type="text" class="inputbox"></div>
    <div>hobby:<input name="text3" type="text" class="inputbox"></div>
    <div><input id="submitbtn" type="submit" value="Submit"></div>
    </form>
</body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.2.2/jquery.form.js"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script type="text/javascript">
    $(function(){
         $('#persondetail').ajaxForm({
            beforeSubmit: function() {

            },
            success: function(data) {
                // Maybe with maybe not.
                var data = JSON.parse(data);

                if(data['status'] == 'success') {
                    swal("Good job!", "You clicked the button!", "success");
                }
            }
        });

     });
</script>

FormTest.php

<?php

$data = ['status' => 'success', 'title' => 'Islem basarisiz!', 'content' => 'Kayitlar yapilamadi!'];

echo json_encode($data, True);
...