Paco: mehrere confirm-boxen in einer Funktion

Hallo!
Vermutlich eine doofe Frage, bitte nich hauen.
Ich möchte ein Formular mittels Javascript validieren. Dazu werte ich die einzelnen Felder jeweils mit einer eigenen Funktion aus und bündele diese Funktionen dann in einer 'Sammelfunktion' die ich mittels onClick beim absenden aufrufe.

So ungefähr:

function checkIrgendwas()
{
 var irgendwas = document.seite4.irgendwas.value);
    if( irgendwas == "" ) confirm("Leeres Feld, trotzdem fortfahren?")
 };

function checkWasAnderes()
{
 var wasanderes = document.seite4.wasanderes.value);
    if( wasanderes == "" ) confirm("noch ein leeres Feld, trotzdem fortfahren?");
}

function checkSeite()
{
 checkIrgendwas();
 checkWasAnderes();
}

Im Formular dann:
<input type="submit" onclick="checkSeite()">

Die einzelnen Funktionen funktionieren alle, aber wie schaff ich es, daß alle confirm-boxen nacheinander erscheinen und nicht nur die erste? Oder ist diese Vorgehensweise generell nicht so schlau?
Vielen dank und liebe Grüße
Paco

  1. Hau dich dafür, dass du uns verschweigst was confirm() macht.

    mfg Beat

    --
       <°)))o><                      ><o(((°>o
    1. Mahlzeit Beat,

      Hau dich dafür, dass du uns verschweigst was confirm() macht.

      Wieso sollte er das tun, nur weil Du nicht weißt, wo Du http://de.selfhtml.org/javascript/objekte/window.htm#confirm@title=nachschlagen kannst? ;-)

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    2. Hi Beat!

      Hau dich dafür, dass du uns verschweigst was confirm() macht.

      Krieg ich ´n Bier, wenn ich´s dir sage? =)
      confirm()

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      1. Hau dich dafür, dass du uns verschweigst was confirm() macht.
        Krieg ich ´n Bier, wenn ich´s dir sage? =)

        confirm()

        Leider nein. Selfhtml kam dir soeben zuvor. ;)

        Aber auch das erklärt einiges.

        mfg Beat

        --
                         /|
          <°)))o><      / |    /|
                    ---- _|___/ |     ><o(((°>
                   OvVVvO    __ |         ><o(((°>
        <°)))o><  /v    v\/  |
         <°)))o>< ^    ^/_/_         ><o(((°>
                   ^^^^/___/
        ><o(((°>    ----       ><o(((°>
           <°)))o><                      ><o(((°>o
    3. Hau dich dafür, dass du uns verschweigst was confirm() macht.

      mfg Beat

      Hallo Beat,
      confirm() schickt das Formular ab oder eben nicht. Deswegen wird auch nur die erste Funktion ausgeführt. Ich möchte aber für jedes fragliche Feld ein confirm haben und nur wenn alle bestätigt wurden das Formular abschicken. Damit ich, wenn Felder hinzukommen, einfach meine checkSeite() um eine funktion checkTelefon() o. ä. erweitern kann. Wie schaff ich es, daß beim bestätigen der ersten confirm-box, die zweite funktion von checkSeite() ausgeführt wird?

      Liebe Grüße
      Paco

      1. Hau dich dafür, dass du uns verschweigst was confirm() macht.
        confirm() schickt das Formular ... ausgeführt wird?

        Ja also, Haue nehm' ich auf mich ;)

        dein ablauf bisher

        wenn die Erde flach > erzwinge True oder False
        wenn true
        wenn wirklich flach > erzwinge True oder False
        wenn true
        wenn wie Zwieback > erzwinge True oder False
        wenn true

        Höchst umständliche Interaktionskette, die mich an kaputte Software erinnert.

        Wenn einmal FALSE zurück gegeben wird, dann gilt der Vorgang als abgebrochen, und es soll nicht gesendet werden.

        Da ja keine weitere Interaktion möglich ist, kannst du gerade so gut einfach alle Angaben auflisten (uii da ist aber confirm() schlecht ) und ein summarisches 'Ja ich will die Fäkalien abschicken' zulassen, statt den Autoren aufzureiben.

        Abgesehen davon wird es zu einer unnötigen Klickerei, die ja nichts verbessert (ich kann nicht on the Fly den bemängelten Wert korrigieren).

        Es wäre besser wenn du bei der Eingabe bereits den Anwender über den Sinn aufklärst. Das kann auf dem inputfeld via CSS :focus durch ein CSS Popup geschehen.
        Mit javascript kannst du da nachhelfen.

        Die wirkliche Validierung hat auf dem Server zu geschehen.
        Aussagekräfte Information vor dem Ausfüllen (die nicht auf JS angewiesen ist) ist besser als eine zu spät gekommene Beanstandung.

        So!
        Damit habe ich mich fein um die Tatsache herum gemogelt,, dass ich confirm() noch nie verwendet habe. Vielleicht sollte ich auch mal User ärgern.

        mfg Beat

        --
           <°)))o><                      ><o(((°>o
        1. Hau dich dafür, dass du uns verschweigst was confirm() macht.
          confirm() schickt das Formular ... ausgeführt wird?

          Ja also, Haue nehm' ich auf mich ;)

          dein ablauf bisher

          wenn die Erde flach > erzwinge True oder False
          wenn true
          wenn wirklich flach > erzwinge True oder False
          wenn true
          wenn wie Zwieback > erzwinge True oder False
          wenn true

          Höchst umständliche Interaktionskette, die mich an kaputte Software erinnert.

          ..oder an unerfahrene Programmierer. Hast natürlich recht, aber ich bin noch nicht so arg fit und brauch immer ewig bei der fehlersuche, deswegen halt ichs mal so simpel wie möglich.

          Wenn einmal FALSE zurück gegeben wird, dann gilt der Vorgang als abgebrochen, und es soll nicht gesendet werden.

          genau, das is ja voll in meinem sinne

          Da ja keine weitere Interaktion möglich ist, kannst du gerade so gut einfach alle Angaben auflisten (uii da ist aber confirm() schlecht ) und ein summarisches 'Ja ich will die Fäkalien abschicken' zulassen, statt den Autoren aufzureiben.

          Es handelt sich hier um ein firmeninternes tool, eigentlich sollten die Redakteure wissen, was sie tun, deswegen find ichs eigentlich gar nicht schlecht, wenn sie sich mit jedem leeren Feld bzw jedem Fehler einzeln auseinandersetzen müssen, sonst muß es hinterher jemand anderes (deutlich schlechter bezahltes) tun.

          Abgesehen davon wird es zu einer unnötigen Klickerei, die ja nichts verbessert (ich kann nicht on the Fly den bemängelten Wert korrigieren).

          Hm, da hast du recht, höchstens ein bißchen schlechtes Gewissen..

          Es wäre besser wenn du bei der Eingabe bereits den Anwender über den Sinn aufklärst. Das kann auf dem inputfeld via CSS :focus durch ein CSS Popup geschehen.
          Mit javascript kannst du da nachhelfen.

          Sinn sollte den potentiellen Anwendern auf jeden fall bekannt sein ( s.o.)

          Die wirkliche Validierung hat auf dem Server zu geschehen.
          Aussagekräfte Information vor dem Ausfüllen (die nicht auf JS angewiesen ist) ist besser als eine zu spät gekommene Beanstandung.

          auch da muß ich dir zustimmen.

          So!
          Damit habe ich mich fein um die Tatsache herum gemogelt,, dass ich confirm() noch nie verwendet habe. Vielleicht sollte ich auch mal User ärgern.

          mfg Beat

  2. Mahlzeit Paco,

    Ich möchte ein Formular mittels Javascript validieren.

    Du validierst es natürlich außerdem auf dem Server. Etwa nicht? Schlecht.

    Dazu werte ich die einzelnen Felder jeweils mit einer eigenen Funktion aus und bündele diese Funktionen dann in einer 'Sammelfunktion' die ich mittels onClick beim absenden aufrufe.

    Ich würde es zwar "onsubmit" beim Formular machen, aber klingt grundsätzlich nicht dumm.

    function checkIrgendwas()
    {
    var irgendwas = document.seite4.irgendwas.value);
        if( irgendwas == "" ) confirm("Leeres Feld, trotzdem fortfahren?")
    };

    function checkWasAnderes()
    {
    var wasanderes = document.seite4.wasanderes.value);
        if( wasanderes == "" ) confirm("noch ein leeres Feld, trotzdem fortfahren?");
    }

    Deine Funktionen möchten dringend zu einer zusammengefasst werden, die mittels Übergabeparameter erfahren möchte, welches Formularelement sie prüfen soll.

    function checkSeite()
    {
    checkIrgendwas();
    checkWasAnderes();
    }

    Deine Funktion möchte dringend per Übergabeparameter erfahren, welches Formular sie überprüfen soll, damit sie dann in einer Schleife durch alle Elemente dieses Formulars durchlaufen (und bei jedem Schleifendurchlauf die EINE o.g. Funktion aufrufen) kann.

    Im Formular dann:
    <input type="submit" onclick="checkSeite()">

    S.o.: ich erachte <form onsubmit="checkSeite();"> für sinnvoller.

    Die einzelnen Funktionen funktionieren alle, aber wie schaff ich es, daß alle confirm-boxen nacheinander erscheinen und nicht nur die erste?

    Häh? Es erscheint nur eine Nachfrage? Und dann?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Mahlzeit Paco,

      Ich möchte ein Formular mittels Javascript validieren.

      Du validierst es natürlich außerdem auf dem Server. Etwa nicht? Schlecht.

      Doch ich validiere auch auf dem server, dachte nur für die optionalen Felder  wär eine alertbox ok.

      Deine Funktionen möchten dringend zu einer zusammengefasst werden, die mittels Übergabeparameter erfahren möchte, welches Formularelement sie prüfen soll.

      Naja, ich prüf ja eigentlich nicht nur ob leer oder nicht, sondern ob emailadresse plausibel, sonderzeichen in der tel-nummer und so. Da läßt sich jetzt nicht so wahnsinnig viel zusammenfassen, bei jeweils einer eigenen funktion pro feld. Auch wenn sie das gerne möchte..

      function checkSeite()
      {
      checkIrgendwas();
      checkWasAnderes();
      }

      Deine Funktion möchte dringend per Übergabeparameter erfahren, welches Formular sie überprüfen soll, damit sie dann in einer Schleife durch alle Elemente dieses Formulars durchlaufen (und bei jedem Schleifendurchlauf die EINE o.g. Funktion aufrufen) kann.

      Ahhh, ich beginne zu verstehen.

      Im Formular dann:
      <input type="submit" onclick="checkSeite()">

      S.o.: ich erachte <form onsubmit="checkSeite();"> für sinnvoller.

      ..dann werd ich das mal nehmen

      Die einzelnen Funktionen funktionieren alle, aber wie schaff ich es, daß alle confirm-boxen nacheinander erscheinen und nicht nur die erste?

      Häh? Es erscheint nur eine Nachfrage? Und dann?

      Oh, hab mal ein alert, ans ende von checkSeite() gehängt, das wird ausgespielt. Seltsam, muß ich mir meinen code nochmal genauer anschauen.
      vielen Dank soweit schonmal :-)