【问题标题】:How to prevent ajax request before clicking on OK button of onclick="confirm(' ')" message?在单击 onclick="confirm(' ')" 消息的 OK 按钮之前如何防止 ajax 请求?
【发布时间】:2019-08-14 06:54:30
【问题描述】:

$(document).ready(function(){
            $(document).on('click', '.dlt', function () {
                var id = $(this).attr('data-id');
                var token= '{{ csrf_token() }}';
                $.ajax({
                   method: 'post',
                   url: '{{route('product.delete')}}',
                   data: {id:id, _token:token},
                   success: function (response) {
                       location.reload();
                   }
                });

            });

        });
<tbody>
@if($products->count()>0)
    @foreach($products as $product)
      <tr>
          <td class="p_name">{{$product->name}}</td>
          <td class="p_details">{{$product->details}}</td>
          <td class="p_price">{{$product->price}}</td>
          <td><a class="add" data-id="{{$product->id}}" title="Add" data-toggle="tooltip" style="display: none"><i class="fa fa-book"></i></a>
              <a class="edit" title="Edit" data-toggle="tooltip"><i class="fa fa-edit"></i></a>
              <a class="dlt" onclick="confirm('Are you sure to delete it?')" title="Delete" data-toggle="tooltip" data-id="{{$product->id}}"><i class="fa fa-trash"></i></a>
          </td>
      </tr>
    @endforeach
@else
    <tr>
        <td colspan="4" class="text-center bg-danger">No Product Data Found</td>
    </tr>
@endif
</tbody>

虽然我点击了 Confirm() 消息的取消按钮,但 onclick ajax 请求已经完成。在我点击确认()消息的确定按钮之前如何防止它?

【问题讨论】:

    标签: ajax forms laravel-5


    【解决方案1】:

    在函数内部,你必须使用这个脚本 -

    var result = confirm("Want to delete?");
    if (result) {
        //Logic to Ajax
    }
    

    在你的代码中

        $(document).ready(function() {
            $(document).on('click', '.dlt', function() {
                var result = confirm("Want to delete?");
                if (result) {
                    //logic to AJAX
                    var id = $(this).attr('data-id');
                    var token = '{{ csrf_token() }}';
                    $.ajax({
                        method: 'post',
                        url: '{{route('
                        product.delete ')}}',
                        data: {
                            id: id,
                            _token: token
                        },
                        success: function(response) {
                            location.reload();
                        }
                    });
                }
            });
        });
    

    【讨论】:

    • 感谢您的贡献??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多