如何在Laravel项目中使用Sweetalert?

时间:2018-10-21 23:26:53

标签: javascript laravel sweetalert

在我的项目中使用甜蜜警报。但这不起作用。请帮我。 错误和使用的代码在这里;

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 :(得分:1)

更新:

我使用您的函数正在运行。

我的代码:

</!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);

答案 1 :(得分:0)

只需在您的validate函数中添加规则,消息和提交处理程序,而无需添加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");
           }
        });
   }
});