2017-10-31 5 views
-1

Ich habe ein Skript zum Löschen eines Datensatzes ohne Aktualisierung. Ich bin noch neu in Javascript und versuche zu lernen, wie man dieses Skript aufruft. Hier ist was ich habe.Wie kann ich dieses Skript aufrufen?

Meine Taste:

<button id="<?php echo $rrr['id']; ?>" class="delbutton" onclick="">Delete</button> 

Mein Javascript:

<script type="text/javascript" > 
    $(function() { 

     $(".delbutton").click(function() { 
      var del_id = $(this).attr("id"); 
      var info = 'id=' + del_id; 
      if (confirm("Sure you want to delete this note? This cannot be undone later.")) { 
       $.ajax({ 
        type : "POST", 
        url : "delete-note.php", //URL to the delete php script 
        data : info, 
        success : function() { 
        } 
       }); 
       $(this).parents(".record").animate("fast").animate({ 
        opacity : "hide" 
       }, "slow"); 
      } 
      return false; 
     }); 
    }); 

lieh ich diesen Code von jemand anderem während Recherchen zum Löschen ohne Nachladen. Normalerweise würde ich eine Funktion in etwa so aussehen sehen:

function myFunction() 

Dann kann ich es nennen Onclick wie folgt aus:

onclick="myFunction()" 

Mit der Art und Weise dieses Skript geschrieben wird, bin ich nicht sicher, was "Funktion" Ich soll anrufen oder wenn ich den Namen irgendwo hinzufügen muss.

Jede Anleitung oder Lektüre wäre hilfreich.

Dank

+0

Zunächst sollten Sie den Code platzieren, um das Datensatz-Front-End im Success-Callback zu entfernen. Auf diese Weise warten Sie, bis der Datensatz tatsächlich gelöscht wird, bevor Sie ihn ausblenden. – Nicolas

+2

Sie brauchen auch nicht den "onclick", es gibt bereits einen Klick-Listener in Jquery auf Ihrer Schaltfläche. – Nicolas

+0

Ihr JavaScript bindet eine Funktion an ein Klickereignis: '$ (" .delbutton "). Click (function() {', so dass Sie kein 'onclick' Attribut auf der Schaltfläche brauchen. Was scheint schiefzugehen? Was? passiert, wenn Sie auf die Schaltfläche klicken? – showdev

Antwort

5

Sie brauchen nicht ein onclick hier zu verwenden: delbutton

$(".delbutton") findet alle Tasten mit der CSS-Klasse.

.click(function() { ... }) sagt, dass die angegebene Funktion ausgeführt wird, wenn auf die Schaltfläche geklickt wird.

+0

Ich habe versucht, den Onclick zu entfernen und die Seite aktualisiert. Wenn auf die Schaltfläche geklickt wurde, ist nichts passiert. –

+0

Etwas, das Sie uns nicht zeigen, verursacht ein Problem - Sie können an der minimalen Reproduktion hier (https://jsfiddle.net/18Lma3ay/1/) sehen, dass der Click-Handler in Ordnung ist. – UncleDave

+0

Gibt es eine Möglichkeit, wo ich das Skript platziert haben könnte? Ich habe es in der Fußzeile meiner Seite. –

0
$(function() { 

Dies bedeutet, dass alles darin aufgerufen wird, wenn das Dokument fertig ist.

Wie schon UncleDave gesagt hat, sollte das Skript wegen des .click bereits onclick aufgerufen werden. Es wäre das gleiche, wenn Sie diese Zeile:

$(".delbutton").click(function() { 

mit dieser Zeile:

function myOnClickFunction() { 

und dann rufen sie über onClick = "myOnClickFunction()"

0

Die click Funktion bindet ONCLICK die Funktion als Ereignishandler für das Klickereignis aller Elemente, die durch selector an jQuery function which is aliased to $ übergeben wurden.

(Dies ersetzt das onclick Attribut)

die Funktion aufzurufen, nur das passende Element klicken (jedes Element, das ein Mitglied der delbutton Klasse ist).

Sie könnten auch das Ereignis auslösen programmatisch mit dem trigger method:

$(".delbutton").trigger("click"); 
0

$(".delbutton").click(function() einem Klick hört die Aktion auszulösen, die den Code in Ihrer Funktion ist.

Sie benötigen keine onclick="" für das button Tag.

0

Wie kann ich dieses Skript aufrufen?

Sie bereits, es ist selbst ausführend.

Sie müssen kein separates Klickereignis für die Schaltfläche registrieren. Das Skript macht das schon selbst.

$(".delbutton").click(function() { 
// code being executed when button is pressed 
} 
0

Wenn Sie ihm die Art und Weise zu tun, wollen Sie es gewohnt sind, nur Ihre Funktion in dem Tag wie folgt erstellen:

<script> 
function myFunction() { 
    // do something 
} 
</script> 

dann, Ihr HTML-Element soll wie folgt aussehen:

<button onclick="myFunction()" >

Verwandte Themen