Lina A.: Formular abschicken noch mal bestätigen

Hallo,

ich habe ein Formular erstellt mit Pflichfeldern. Nun möchte ich das der Besucher; wenn er auf den Absenden Button klickt, eine "graue Fenstermeldung" erhält auf dem steht ob er sicher ist diese Antworten abzusenden.

Dann die Auswahl:
OK -> Formular wird per Mail verschickt
Bearbeiten -> User kommt auf das Formular zurück und kann die Antworten bearbeiten.

Ich weiß irgendwie nicht wie ich das einrichten kann. Am liebsten wäre mir das ganze im chkFormular unterzubekommen.

Kann mir jemand helfen?

Tausend Dank...

Lina

  1. moin Lina *breitgrins*

    was du haben möchtest ist ein prompt()

    liebe Grüße aus Berlin
    lina-

    --
    Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
    1. moin Lina *breitgrins*

      was du haben möchtest ist ein prompt()

      liebe Grüße aus Berlin
      lina-

      Hi Lina *g*

      hm, leider weiß ich jetzt mit dieser Information nicht allzuviel anzufangen, wie muss ich diese Funktion denn einstellen? Kann ich es im anschluss von einem chkFormular anhängen?

      Vielen Dank für deine Hilfe
      Lina

      1. moin Lina  :)

        hm, leider weiß ich jetzt mit dieser Information nicht allzuviel anzufangen, wie muss ich diese Funktion denn einstellen? Kann ich es im anschluss von einem chkFormular anhängen?

        DeWitt war schneller als ich ;) Der hat dir das schon erklärt.
        Zumal ich mich vertan habe und "confirm()" meinte - da war das clicken schneller als das denken ;)

        Eine Möglichkeit wäre mit dem onsubmit()-Eventhandler  zu arbeiten.

        Das sähe dann in etwa so aus

          
        function check() {  
          return confirm("absenden?");  
        }  
        </script>  
        </head><body>  
        <form action="onsubmit.htm" onSubmit="return check();">  
        ...  
        </form>  
        
        

        liebe Grüße aus Berlin
        lina-

        --
        Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
        1. moin Lina  :)

          Moinsen :)

          DeWitt war schneller als ich ;) Der hat dir das schon erklärt.
          Zumal ich mich vertan habe und "confirm()" meinte - da war das clicken schneller als das denken ;)

          macht doch nix, vielleicht kannst du mir aber jetzt doch bei dem anderen Problem helfen, da es noch nicht richtig funktioniert :)

          gruß aus Hessen
          LINA

        2. Hi lina-,

          DeWitt war schneller als ich ;) Der hat dir das schon erklärt.
          Zumal ich mich vertan habe und "confirm()" meinte - da war das clicken schneller als das denken ;)

          Vorschau!...

          Eine Möglichkeit wäre mit dem onsubmit()-Eventhandler  zu arbeiten.

          Das sähe dann in etwa so aus

          <script type="text/css">

          function check() {
            return confirm("absenden?");
          }
          </script>
          </head><body>
          <form action="onsubmit.htm" onSubmit="return check();">
          ...
          </form>

            
          Ein einfaches onsubmit="return confirm('absenden?')" würde reichen.  
            
          Gruß, Marian  
          
          -- 
          Mein SelfCode:  
          [ie:{ fl:( br:> va:) ls:\[ fo:) n4:( ss:) de:\] js:| ch:? mo:} zu:)](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+n4%3A%28+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%3F+mo%3A%7D+zu%3A%29)  
          [\[img:http://sfx-images.mozilla.org/affiliates/Buttons/80x15/firefox_80x15.png](http://www.spreadfirefox.com/?q=affiliates&id=0&t=85)] 
          
    2. moin Lina *breitgrins*

      was du haben möchtest ist ein prompt()

      liebe Grüße aus Berlin
      lina-

      Wieso prompt? Soweit ich das richtig verstanden habe braucht sie doch kein Eingabefeld, sondern nur ok und abbrechen ?

      1. moin DeWitt :)

        Wieso prompt? Soweit ich das richtig verstanden habe braucht sie doch kein Eingabefeld, sondern nur ok und abbrechen ?

        Is mir mittlerweile auch schon aufgefallen ;)

        liebe Grüße aus Berlin
        lina-

        --
        Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
  2. Ich nehme an du meinst das chkFormular aus der Javascript-Hilfe von Selfhtml?

    Bau dort einfach am Schluss folgenden Code ein:

    ===
    confirm = window.confirm('Wollen Sie die angegebenen Daten wirklich abschicken?');
    return confirm;

    Wenn der User dann auf 'abbrechen' klickt, wird in 'confim' der Wert 'false' gespeichet, bei 'OK' 'true'. Somit wird bei 'abbrechen' der Versand der Formulardaten abgebrochen.

    1. Ich nehme an du meinst das chkFormular aus der Javascript-Hilfe von Selfhtml?

      Bau dort einfach am Schluss folgenden Code ein:

      ===
      confirm = window.confirm('Wollen Sie die angegebenen Daten wirklich abschicken?');
      return confirm;

      Wenn der User dann auf 'abbrechen' klickt, wird in 'confim' der Wert 'false' gespeichet, bei 'OK' 'true'. Somit wird bei 'abbrechen' der Versand der Formulardaten abgebrochen.

      Das ist fast richtig, nur wenn ich auf Abbrechen klicke komme ich trotzdem auf die folgende Seite und das Formular wurde abgeschickt.
      Was habe ich da falsch gemacht?

      ....

      else if (document.getElementsByName('f71')[0].checked == false &&
          document.getElementsByName('f71')[1].checked == false &&
          document.getElementsByName('f71')[2].checked == false )
       { alert ("Bitte geben Sie uns Ihre Lösung für Frage 71!")
        return false;
       }

      confirm = window.confirm('Wollen Sie die angegebenen Daten wirklich abschicken?');
       return confirm;

      }

      -->

      </script>

      1. Das ist fast richtig, nur wenn ich auf Abbrechen klicke komme ich trotzdem auf die folgende Seite und das Formular wurde abgeschickt.
        Was habe ich da falsch gemacht?
        [...]

        Hmm, seltsam, genauso hab ichs gemeint. Ich glaube aber es ist "sauberer", wenn du einfach als letzte Zeile der Funktion chkFormular folgende Zeile einbaust:

        return window.confirm('Wirklich absenden?');

        Ich habs gerade getestet, und bei mir funktioniert es so.

        1. return window.confirm('Wirklich absenden?');

          Ich habs gerade getestet, und bei mir funktioniert es so.

          Hey, so funktioniert es wunderbar.

          Tausend Dank euch beiden.

          Liebe Grüße Lina!

      2. Das ist fast richtig, nur wenn ich auf Abbrechen klicke komme ich trotzdem auf die folgende Seite und das Formular wurde abgeschickt.
        Was habe ich da falsch gemacht?

        ....

        else if (document.getElementsByName('f71')[0].checked == false &&
            document.getElementsByName('f71')[1].checked == false &&
            document.getElementsByName('f71')[2].checked == false )
        { alert ("Bitte geben Sie uns Ihre Lösung für Frage 71!")
          return false;
        }

        confirm = window.confirm('Wollen Sie die angegebenen Daten wirklich abschicken?');
        return confirm;

        dort wo du chkFormular() aufrust, musst du auch dan return Wert weitergeben.

        zb: <form onSubmit="return chkFormular()".....>

        mfg
          frafu

        1. »

          zb: <form onSubmit="return chkFormular()".....>

          mfg
            frafu

          Danke für den Tipp. :-)

          Lina

    2. Hi,

      confirm = window.confirm('Wollen Sie die angegebenen Daten wirklich abschicken?');
      return confirm;

      Angenommen, ich sag beim ersten Mal an dieser Stelle "Cancel".
      Wenn ich dann nochmal abschicke, sollte es zu einer Javascript-Fehlermeldung kommen (window.confirm is not a function).
      Denn durch die Zuweisung an confirm müßte m.E. die Funktion überschrieben werden.

      Direkt den Rückgabewert von window.confirm zurückgeben!

      return window.confirm('...');

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.