2017-06-09 5 views
0
<script src="path/to/jquery.js"></script> 
<script src="path/to/bootstrap.js"></script> 
<script src="path/to/bootstrap-confirmation.js"></script> 

Ich benutze Bootstrap-Bestätigung.Bootstrap-Bestätigung funktioniert nicht wegen Knopf onclick

Dies funktioniert nicht:

<a class="btn btn-danger btn-xs" data-toggle="confirmation" 
    onclick="DeleteUser(this);" data-id="10"><span class="fa fa-plus"> 
</span> Delete</a> 

Dies funktioniert gleiche Seite:

<button class="btn btn-default" data- 
toggle="confirmation">Confirmation</button> 
    <a class="btn btn-default" data-toggle="confirmation">Confirmation1</a> 

Meine Bestätigung Einstellungen Dokument bereit

$('[data-toggle="popover"]').popover({ placement: 'left', html: true, trigger: 'hover' }); 
    $('[data-toggle=confirmation]').confirmation({ btnOkLabel: 'Yes', btnCancelLabel: 'No', title: 'Are you sure?' }); 

UPDATE Meine Ajax löschen Funktion:

function DeleteUser(ele) { 
    var id = $(ele).attr('data-id'); 
    $.ajax({ 
     type: 'POST', 
     cache: false, 
     url: '../ashx/FriendOperation.ashx', 
     data: { id: id, rol: ' ' ,op:<%=(int)CrudOp.Delete%>}, 
     beforeSend: function() { 
      //bla bla 
     }, 
     success: function (data) { 
      var jsonData = JSON.parse(data); 
      if (jsonData != null) { 
       if (parseInt(jsonData) > 0) { 

        alert('okey'); 
        GetFriendOp(); 
       } else { 
        alert('expception'); 
       } 
      } else { 

       alert('expception'); 
      } 
     } 
    }); 

} 

Kann ich mit AJAX kombinieren wie $('#element').confirmation('show');

ERFOLG.

$ ("[Daten-Toggle = Bestätigung]") Bestätigung ({btnOkLabel: 'Ja', btnCancelLabel : 'Nein', Titel: 'Bist du sicher?', Container: "body", btnOkClass: "btn btn-sm btn-erfolg btn-xs", btnCancelClass: "btn btn-sm btn-danger btn-xs", onConfirm: function (event, element) {Warnung ('confirm clicked'); }});

Dank @DanCouper.

Antwort

1

Der Inline-Onclick-Handler löst alle anderen Event-Handler. Sie überschreiben grundsätzlich, was Bootstrap bestätigt tut, es ist völlig sinnlos, Sie sogar in diesem Fall bestätigen, weil Sie nur Ihre eigene Logik schreiben. Wenn Sie sich die Dokumente zur Boostrap-Bestätigung ansehen, erhalten Sie Hooks zum Hinzufügen von Logik. Fügen Sie onclick-Attributen nicht nur zu stuffs hinzu, die bereits ein definiertes Verhalten (Ereignis-Listener) haben, und eine API, mit der Sie das tun können, was Sie gerade tun möchten (idealerweise sollten Sie onclick-Attribute in HTML nach Möglichkeit nicht verwenden, aber das ist etwas anderes)

+0

hmm du hast Recht, überschreibe ich die Bestätigung kann ich auf Ajax irgendwo wie $ ('element) .confirmation (' show '); kombinieren? –

+0

Unter "Optionen" hier: http://bootstrap-confirmation.js.org/ gibt es einen für onConfirm - also würden Sie '.confirmation ({onConfirm (e) {... hier Sachen}}. Es sollte sei grundsätzlich so - lass dich aber mit den Optionen herumalbern - schreibe es wie das Beispiel über den Optionen (geht in das '$ ('[data-toggle = confirmation]'). confirmation ....' setup call) – DanCouper

+1

Ich bekomme es und update Lösung :) Danke. –