Bernd S: Intelligenteres confirm() ?

Hallo zusammen,

ich habe eine etwas unschöne Fkt. programmiert, die zwar funktioniert, die man vielleicht aber auch besser schreiben könnte.

Folgendes:
Es gibt ein Postformular, über das ein Datenwert

  1. gelöscht
  2. verändert
    werden kann. Wählt der Benutzer "Löschen", so kommt ein confirm()-Fenster, wo er dies bestätigen soll, bei "Ändern" soll es dagegen ohne ein confirm()-Fenster direkt weitergehen.

Meine bisherige Lösung:
Auszug aus dem Formular:
<form action="auswertung.php" method="post" name="form1" onSubmit="return test()">

....

<input type="submit" name="loeschen" value=" Löschen " onClick="test2()">
<input type="submit" name="aendern" value=" Ändern " onClick="test1()">

das zugehörige Javascript:
<script language="JavaScript">
<!--
var weiter;
function test2() {
 weiter = confirm("Wollen Sie den Eintrag wirklich löschen?\n");
}
function test1() {
 weiter = true;
}
function test() {
 return weiter;
}
//-->
</script>

Hat jemand ne Idee?

mfg Bernd

  1. Hallo,

    ich habe eine etwas unschöne Fkt. programmiert, die zwar funktioniert, die man vielleicht aber auch besser schreiben könnte.

    Ein anderes JavaScript fällt mir jetzt spontan nicht ein. Aber du könntest doch über zwei Optionsfelder zwischen löschen oder ändern umschalten.
    Den Status dieser Felder kannst du dann im onSubmit des Formulares abfragen. Wenn sie standardmäßig auf "Ändern" stehen, dann ist das auch noch mal eine vorbeugende Maßnahme gegen versehentliches Löschen.

    Viele Grüße,

    Stefan

    1. Hi Stefan,

      vom Prinzip her ne gute Idee, ist aber bei mir nicht angebracht

      mfg

  2. Hi

    Hat jemand ne Idee?

    Was willst du jetzt eigentlich wissen?

    Grüße aus Barsinghausen,
    Fabian

    1. hi Fabian,

      ;-)

      ob es eine bessere Lösung gibt, z.B. indem man im Javascript abfragt, welche Button gedrückt wurde

      mfg

      1. Hi Bernd,

        ob es eine bessere Lösung gibt, z.B. indem man im Javascript abfragt, welche Button gedrückt wurde

        Aha. Wie stellst du dir das vor? Was willst du denn?

        Du könntest eine Funktion schreiben, die den Buttonnamen als Argument erhält. onClick="formular('buttonname');"

        Grüße aus Barsinghausen,
        Fabian

        1. Aha. Wie stellst du dir das vor? Was willst du denn?

          z.B. dass ich bei den submit feldern komplett das onClick weglasse und dann u.a. Fkt. irgendwie umschreibe und nur beim form tag mit onSubmit aufrufe

          nur Pseudo-Code:

          function test() {
          if (Taste == löschen)
           return confirm("Wollen Sie den Eintrag wirklich löschen?\n");
          else return true;
          }

          mfg