2016-03-25 25 views
1

eylem url jquery ekleyin: tıklamada ben parametreyi user-id alıp ben eylem URL'yi değiştirmek,Ben böyle bağlantısı var

<a class="glyphicon glyphicon-remove glyphicon-color-red btn-delete" data-toggle="modal" data-target="#myModal" user-id="56f52ea551d72027711157d6"></a> 

Ve jquery ile, bu kod neden çalışmıyor Tıkladığımda silme düğmesi modal penceresi açılır, ancak eğer elemanı incelersem bu eylemin boş olduğunu görürsünüz?

def delete_user(self, id): 
    mongo.db.users.remove({'_id': ObjectId(id)}) 
    return redirect(url_for('admin.users')) 

Ve kalıcı açılan:

$('.btn-delete').click(function() { 
    var user_id = $(this).attr('user-id'); 
    $('#modal-form').attr('action', "{{ url_for('admin.delete_user', id=" +user_id+") }}"); 
    }); 

Python rota admin.delete_user kullandığımız yöntemdir

<div class="modal fade" id="myModal" role="dialog"> 
<div class="modal-dialog modal-sm"> 
    <div class="modal-content"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span></h4> 
    </div> 
    <form id="modal-form" action=" " method="POST"> 
    <div class="modal-body"> 
     <p>Are you sure?</p> 
    </div> 
    <div class="modal-footer"> 
      <button type="button" class="btn btn-default btn-sm btn-style" data-dismiss="modal">Cancel</button> 
      <button type="submit" class="btn btn-default btn-sm btn-filter-apply btn-style" >Yes</button> 
    </div> 
    </form> 
    </div> 
</div> 

Nedenini anlamıyorum jquery'de işlem URL'si eklenmedi mi?

+0

Ne demek eylem boş? Tıklandığında veya sunucudan geri döndüğünde boş mu? Tamamen boş mu yoksa sadece user_id parçasını mı eksik? – Cruiser

+0

.btn-delete sınıfıyla bir bağlantıyı tıklattığımda, modal görüntülenir, modal eylem URL'sinin tamamen boş olduğunu görürsünüz, tıpkı bu "

+0

Bence jQuery'unuz {{}} ile ne yapacağını bilmiyor. Yapacağım şey, form eyleminizdeki o kısmı içerir, sonra sadece jquery – Cruiser

cevap

0

Herhangi bir değişiklik, siz (hazır kullanabilirsiniz kendisi için) yapmadan önce DOM yüklü olduğundan emin olun: Sana ihtiyacım url kısmını üretmek için için url_for işlevini değiştirecek

$(document).ready(function(){ /* your code */ }); 
+0

Zaten kullanıyorum – EgzEst

0

sonra, aksiyonun içine yerleştirin. Ardından, user_id öğesini dizeye eklemek için jquery'yi kullanın. Bir parametreyi ayrıştırmak için URL'yi yakalayan her şeyi değiştirdiğinizden emin olun.

gibi bir şey döndürür url_for: http://www.example.com?delete_user=

Sonra form işlemi: olur o zaman

<form id="modal-form" action="{{url_for(delete_user)}}" method="POST"> 

Ve jQuery:

$('.btn-delete').click(function() { 
    var user_id = $(this).attr('user-id'); 
    var action = $('#modal-form').attr('action'); 
    $('#modal-form').attr('action', action + user_id); 
}); 

Son olarak, her ne ayrıştırma formunuzda İşte bir örnek delete_user = url parametresini arar ve ona eklediğiniz user_id değerini kullanır.