Wie rufe ich eine php-Funktion von javascript-onclick () - Ereignis?

Ich habe zum Beispiel eine php-Funktion:

function DeleteItem($item_id)
{
     db_query("DELETE FROM {items} WHERE id=$item_id");
}

Dann, ich habe so etwas wie die folgenden:

<html>
<head>
<script type="text/javascript">
function DeleteItem($item_id)
{
     alert("You have deleted item #"+$item_id);
}
</script>
</head>

<body>
<form>
Item 1
<input type="button" value="Delete" onclick="DeleteItem(1)" />
</form>
</body>
</html>

Ich möchte in der Lage sein, rufen Sie die PHP function DeleteItem() aus der javascript function DeleteItem (), so dass ich verwenden können, Drupal ' s db_query () - Funktion, so dass ich nicht haben, um zu versuchen, um eine Verbindung zu der Datenbank aus javascript.

Hat jemand irgendwelche Vorschläge auf, wie dies getan werden könnte? P. S. ich verstehe, dass die PHP-Prozesse auf der server-Seite und javascript Prozesse auf der client-Seite, also bitte keine Antworten, die sagen, dass. Es hat doch irgendeinen trick, was man tun kann, um diese arbeiten aus. Oder vielleicht gibt es einen besseren Weg, das zu tun, was ich versuche zu erreichen.

Kann ich Sie direkt zu dieser Frage: stackoverflow.com/questions/2034501/how-does-php-work/...
Sind Sie sicher, dass Sie dies tun wollen? Sie ermöglicht somit den Kunden, überall und zu löschen Sie ALLE Artikel aus Ihrer Datenbank. Keine gute Idee.
Tatsächlich, ich wirklich don ' T WOLLEN, dies zu tun, aber ich habe Probleme das tun, was ich bin, was ich bin versucht zu tun. Drupal hat "Panels" und "Tabs" - Module. Sie können Registerkarten in Ihrem panel für alle oder einige der Inhalte in Ihrem panel. Es gibt jedoch keine Möglichkeit, den Benutzer zu einer bestimmten Registerkarte über einen link oder Anruf.
Also, wenn ich löschen möchte, oder vor allem Bearbeiten Sie ein Element aus einer Liste innerhalb der der 3. Registerkarte,, ich KANN es tun, aber wenn ich den Aufruf der Seite und stellen die Parameter in der URL zeigt er mir die erste tab, wenn ich die Seite neu geladen mit den Parametern anstelle der Registerkarte, die ich möchte. Das macht es so dem Benutzer, klicken Sie auf das 3. tab wieder, das ist ärgerlich für Sie.
Vielleicht eine bessere Frage ist "wie erhalte ich Zugriff auf server-seitige Funktionalität, die von einem web-Seite ohne Seite-reload im browser?" AJAX ist perfekt für diese.

InformationsquelleAutor Brian T Hannan | 2010-01-10

Schreibe einen Kommentar