2017-03-18 109 views
0

这就是我所说的方法,在这里我通过ID删除事件:的Javascript的onclick:只能使用一次

function delete_event(id) 
{ 
    $.ajax({ 
     url: "/delete/"+id, 
     type: "post", 
     data: { '_token': '{{csrf_token()}}' }, 
     success: function(data) { 
      if (data.success == 1) 
      { 
       $("#alert").addClass("alert alert-success"); 
       $("#alert").innerText = "it worked"; 
       $("#alert").remove(); 
       $("alert").fadeOut(3000); 
      } 
      else 
      { 
       $("#alert").addClass("alert alert-danger"); 
       $("#alert").text("it didn't work"); 
       $("#alert").delay(3000).fadeOut(1000); 
      } 
     }, 
     error: function(data) 
     { 
      console.log("neieieiin"); 
      console.log(data); 
     }, 
     complete: function(){} 
    }) 
} 

下面是HTML码:

<div id="alert"> 
</div> 

<table class="table table-striped"> 
    <tr> 
     <th>Event Name</th> 
     <th>Starting Date</th> 
     <th>Location</th> 
     <th>Actions</th> 
    </tr> 

    @foreach($events as $event) 
     <tr id="{{$event->event_id}}"> 
      <td>{{$event->event_name }}</td> 
      <td>{{$event->start_date}}</td> 
      <td>{{$event->street_address}}</td> 
      <td> 
       <a> 
        <button onclick="delete_event({{$event->event_id}})" type="button" class="btn btn-default"> 
        <i class="fa fa-times" aria-hidden="true"></i> 
        </button> 
       </a> 
      </td> 
     </tr> 
    @endforeach 

</table> 
@endsection 

当我点击删除按钮只有一次显示它工作/它没有工作。如果我第二次点击它,没有任何建议?再次

<button data-id="{{$event->event_id}}" type="button" class="btn btn-default delete_button"> 


jQuery(document).on("click",".delete_button",function(){ 

    var id = $(this).data("id"); 

    $.ajax({ 

     url: "/delete/"+id, 
     type: "post", 
     data: { '_token'   : '{{csrf_token()}}' }, 
     success: function(data) { 
      if(data.success == 1) 
      { 
       //do as you want 
      } 

     }, 

    }); 

}); 
+1

只需调试它,调试器,console.log。 – dfsq

+0

谢谢,他进入delete_event,但它没有进入ajax请求。有任何想法吗? – AppleForTheKing

回答

1

您可以使用jQuery上点击的方法来解决这个问题:

变化。 :D

+0

谢谢,但它并没有解决我的问题。我进入click-Event,但不在ajax中 – AppleForTheKing

+0

@AppleForTheKing在ajax请求中使用GET方法,并从数据中删除_token。这将起作用。 –

+0

不幸的是,如果我从数据中删除_token,Laravel会出错TokenMismatch – AppleForTheKing

0
$("#alert").fadeIn(); 
$("#alert").addClass("alert alert-danger"); 
$("#alert").text("it didn't work"); 
$("#alert").delay(3000).fadeOut(1000); 

我不得不这样做的是淡入()的元素: