That would be a hack that just covers up the problem, instead of fixing it. 
 Understand what is happening so that you don't have to hack your code 
together, imho.

On Friday, April 27, 2012 10:03:08 AM UTC-7, Saiful Amri wrote:
>
> for simple 
> try using 
> $('a#delete').one(function() {
>    uid = $(this).data('uid');
>    // Handle your post delete logic here
> });
>
> so it just once time click....
>
> On Fri, Apr 27, 2012 at 11:23 PM, John Roberts <[email protected]>wrote:
>
>> Each time the modal is shown, you are binding another click event to the 
>> delete button.  Move the click event binding outside of the modal show 
>> event, I think that might do it for you.
>>
>> I could also recommend a few ways to simplify this entire process...
>> 1.  When the a.delete-button is clicked, set the uid directly on the 
>> modal's delete button as a data attribute:
>> $('a.delete-button').click( function() {
>>   $('a#delete').data('uid', $(this).attr('rel'); // You should also 
>> change the uid to a data attribute of this link element: 
>> data-uid="{{user.uid.0}}"
>> });
>>
>> 2.  You only need to mess with the click event for delete, I'm not sure 
>> all of that other stuff is necessary...
>> $('a#delete').click (function() {
>>    uid = $(this).data('uid');
>>    // Handle your post delete logic here
>> });
>>
>> Hope this helps
>>
>> On Friday, April 27, 2012 6:38:15 AM UTC-7, tinti wrote:
>>>
>>> Hi,
>>>
>>> my modal window used in a table do delete user accounts fires post 
>>> action as often as I opened the modal already.
>>> Means on first user deletion the post request is made one time, second 
>>> user deletion fires post request 2 times and so on.
>>>
>>> Button to open modal:
>>> <a href="#delete-modal" class="delete-button" data-toggle="modal" 
>>> rel="{{ user.uid.0 }}"><i class="icon-trash"></i> Delete</a>
>>>
>>> Modal definition:
>>>     <div class="modal hide fad" id="delete-modal">
>>>         <div class="modal-header">
>>>             <a class="close" data-dismiss="modal">x</a>
>>>             <h3>Delete user confirmation</h3>
>>>         </div>
>>>         <div class="modal-body">
>>>             <p>Please confirm removal of user <strong><i 
>>> id="uid"></i></strong> by clicking the <strong>Delete</strong> button</p>
>>>         </div>
>>>         <div class="modal-footer">
>>> {#            <a href="#" class="btn btn-primary" data-dismiss="modal" 
>>> id="cancel">Cancel</a>#}
>>>             <a href="#" class="btn btn-danger" id="delete">Delete</a>
>>>         </div>
>>>     </div>
>>>
>>>
>>> The js I use to modify and fire things:
>>>         $(document).ready(function() {
>>>             var uid;
>>>
>>>             // Delete button
>>>             $('a.delete-button').click(**function() {
>>>                 uid = $(this).attr('rel');
>>>             });
>>>
>>>             // Delete function
>>>             $('#delete-modal').bind('show'**, function () {
>>>                 $('.modal-body').empty().html(**"<p>Please confirm 
>>> removal of user <strong><i>" + uid + "</i></strong> by clicking the 
>>> <strong>Delete</strong> button</p>");
>>>                 $('#delete').show();
>>>                 $('i#uid').empty().html(uid);
>>>                 $('a#delete').click(function()**{
>>>                     $.post("/admin/delete/user/" + uid + "/",
>>>                             {"csrfmiddlewaretoken": "{{ csrf_token }}"},
>>>                             function(data){
>>>                                 console.log("Post " + reload);
>>>                                 $('.modal-body').empty().html(**'<p>' + 
>>> data + '</p>');
>>>                                 $('tr#' + uid).remove();
>>>                                 reload = true;
>>>                             })
>>>                             .error(function() { 
>>> $('.modal-body').empty().html(**"<div class=\"alert alert-error\"><h4 
>>> class=\"alert-heading\">**Received an error from 
>>> server!</h4><br/>Please try again later.</div>"); })
>>>                             .complete(function() {
>>>                                 $('a#delete').hide();
>>>                             });
>>>                     return false;
>>>                 })
>>>             });
>>>             $('a#cancel').click(function()**{
>>>                 $('#delete-modal').modal('**hide');
>>>             });
>>>         });
>>>
>>> This is my example, does someone has an idea?
>>>
>>> Thanks!
>>>
>>
>

Reply via email to