Löschfunktion per JavaScript Confirmbutton bestäti

Hallo zusammen,

in meinem Programm werden Kundendaten erfasst. Das Programm basiert hauptsächlich auf PHP und ich möchte bei zwei Submit-Buttons eine Nachfrage per JavaScript einbauen.

Zum einen handelt es sich um den Löschbutton und um den Button um einen neuen Kunden anzulegen.

Die Struktur des Programms sieht etwa wie folgt aus.

<?php $loeschen="DELETE FROM...."<br />
if($\_POST['loeschen'])
{
$mysqli-\>query($loeschen)
}


if($\_POST['leeren'])
{
unset($\_SESSION['kundenauswahl']);
}
?\>

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"\>



function show\_confirm()
{
var r=confirm("Press a button");
if (r==true)
 {
 alert("Vorgang ausgeführt");
 }
else
 {
 alert("Vorgang abgebrochen!");
 }
}

" method=„post“>

Doch leider wird auch nachdem Klick auf Abbrechen der Löschbefehl ausgeführt bzw. die Eingabemaske zur Neukundenanlage geleert.

Der Anwender sollte die Möglichkeit haben, den Vorgang abzubrechen, um die Kundedaten zu speichern bzw. den Löschvorgang abzubrechen.

Wie kann ich das machen?

Gruß und Dank!

Moin,

basiert hauptsächlich auf PHP und ich möchte bei zwei
Submit-Buttons eine Nachfrage per JavaScript einbauen.

Warum per JavaScript und nicht auch per PHP?
Dir ist bewusst, dass es diese Funktion, die ja eigentlich eine Sicherung darstellen soll, dann bei Leuten ohne JavaScript nicht gibt?

Doch leider wird auch nachdem Klick auf Abbrechen der
Löschbefehl ausgeführt bzw. die Eingabemaske zur
Neukundenanlage geleert.

Logisch. Du hast einen Submit-Button erstellt und wenn da drauf geklickt wird, dann wird erst das JavaScript beim Event onClick ausgeführt, danach gehts in der normalen Verarbeitung weiter mit dem Submit. Du musst diesen weiteren Vorgang unterbinden, mit einem „return false“ nach Abarbeitung Deiner Funktion.

Der Anwender sollte die Möglichkeit haben, den Vorgang
abzubrechen, um die Kundedaten zu speichern bzw. den
Löschvorgang abzubrechen.

Also das „return true“ nur beim Abbrechen, beim Confirm geht der normale Verlauf seinen Weg.

Grüße,
-Efchen

Hallo,

Warum per JavaScript und nicht auch per PHP?
Dir ist bewusst, dass es diese Funktion, die ja eigentlich
eine Sicherung darstellen soll, dann bei Leuten ohne
JavaScript nicht gibt?

vielen Dank!

Ich versuche ja soviel wie möglich mit PHP zu machen, aber manche Dinge gehen halt schöner mit JavaScript. Beispiel: Änderung der Auswahl in einem Selectfeld mit anschließendem erneutem Aufruf der Form. Hierfür verwende ich die Funktion onchange=„this.form.submit()“.

Belehre mich gerne eines Besseren, wenn es anders ist.

Gruß

Moin,

manche Dinge gehen halt schöner mit JavaScript.

Was ist denn daran schöner, wenn ein Benutzer eine Sicherheitsabfrage vor dem Löschen bekommt, ein anderer nicht? Das kann ich nicht nachvollziehen.

Beispiel:

Wenn Du das schön findest, dass bei einem Benutzer etwas funktioniert, beim anderen nicht!?
Und wenn Dein Script, das das Formular auswertet, das auch berücksichtigt, dass das select beim einen angepasst wird, beim anderen nicht? Denn so können auch Zustände entstehen, die Du eigentlich nicht vorsiehst oder als falsch betrachtest.

Belehre mich gerne eines Besseren, wenn es anders ist.

Überlege einfach, was passiert, wenn jemand kommt, bei dem JS deaktiviert ist oder deaktiviere es selbst und schau, wie Deine weitere Verarbeitung funktioniert und ob sie funktioniert.

Du musst dafür sorgen, dass Deine Seiten trotzdem noch funktionieren.

JavaScript-Abfragen und -Prüfungen können eine zusätzliche Hilfe darstellen und es für Leute mit aktiviertem JS einfacher und schneller machen. Aber um eine serverseitige Abfrage der selben Daten kommt man nicht drumrum. Vor allem, wenn mit den Formulardaten so wichtige Dinge geschen sollen wie Datenbankeinträge.

Liebe Grüße,
-Efchen

P.S.: Beispiel:
Du hast zwei Eingafefelder, von denen nur jeweils eines Inhalt haben darf. Mit JS kannst Du dafür sorgen, dass wenn in das eine Feld etwas eingetragen wird, das andere gelöscht wird, so dass die Bedingung erfüllt ist. Hat aber jemand JS deaktiviert, kann er es schaffen, dass in beiden Feldern etwas eingetragen ist.
Wenn Du diesen Zustand nicht zusätzlich auch serverseitig prüfst, dann ist die ursprüngliche Bedingung (dass nur eines der beiden Felder Inhalt haben darf) nicht erfüllt und das kann im schlimmsten Fall zu echten Problemen führen.

Danke!
Ok, das stimmt.

Danke!

Gruß!