Bastian: Confirm() + Abbruch der Aktion des Formulars

Shalom,

ich habe folgendes Problem.
In einem Formular gibt es einen Button.
Bei Click dieses Buttons wird confirm() von Javascript aufgerufen.
wenn ok gedrückt wird, dann soll die Aktion weiterlaufen, wenn cancel gedrückt wird dann soll die Aktion nicht weiterlaufen.

Wie realisiere ich den cancel-Fall ?

function deleteIt()
{
 var agree=confirm("Are you sure you wish to delete ?");
 if (agree)
 document.forms[0].elements['task'].value='delete';"+
 else{......}
}

benutzt man dafür "break;"?
Ich habe es mit break schon probiert, doch wird die Aktion dann trotzdem fortgesetzt....

Ich möchte, dass die Action=" " des formulars abgebrochen wird.
Wie kann ich das umsetzen ?

THX und Gruss

Bastian

  1. abend,

    <form onSubmit="return CheckForm()">
    <input bla...
    <form>

    in der js-funktion gibst du dann entweder TRUE
    oder halt FALSE als RETURN zurück. anhand des
    wertes wird das formular entweder abgeschickt,
    oder ggfs. eben nicht..

    HIH

    mfg,
    (tanz das)
    Z.N.S.

    --
    <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
    1. Mahlzeit,

      abend,

      <form onSubmit="return CheckForm()">
      <input bla...
      <form>

      function myEvents(){
          var agree=confirm("Are you sure you wish to delete ?");
          if (agree){
               document.forms[0].elements[task'].value='delete';
               return true;
          }
           else
               {return false ;}
      }
      </script>

      <input type ="submit"  name="delete" value ="delete" onClick="return myEvents()">

      Hallo Z.N.S ,

      meintest Du das so ?

      Bastian

      1. abend,

        <input type ="submit"  name="delete" value ="delete" onClick="return myEvents()">

        glaub du musst das in das onSubmit bei dem form-tag packen...
        dann sollts funzen...

        mfg,
        (tanz das)
        Z.N.S.

        --
        <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
  2. hi

    Ich möchte, dass die Action=" " des formulars abgebrochen wird.
    Wie kann ich das umsetzen ?

    afaik kannst du eine angestoßenen action nicht abbrechen.

    so long
    ole
    (8-)>

  3. Moin!

    Ich möchte, dass die Action=" " des formulars abgebrochen wird.
    Wie kann ich das umsetzen ?

    Das hängt davon ab, wie du das Formular und das zugehörige Javascript im Button umgesetzt hast.

    Also bitte mal etwas mehr Code, auch HTML, posten. Wie rufst du die Funktion auf, was steht im <form> etc.

    - Sven Rautenberg

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
    1. Shalom,
      etwas mehr Sourcecode :
      hoffe das reicht, um eine Aussage treffen zu können :-) ?

      -----------------------------------------------------------------
      <head>
      <script language="JAVASCRIPT">
        function myEvents(){
          var agree=confirm("Are you sure you wish to delete ?");
          if (agree)
               document.forms[0].elements[task'].value='delete';´
          else
               {.......abbruch.......}
      }
      </script>
      </head>

      <body>
      <FORM name="select" id="select" ACTION = "webFolder/SelectedProject" METHOD = "GET">
      <input type = "submit"  name="delete" value ="delete" onClick=myEvents()>
      .....weitere <inputs>........
      </form>
      </body>
      ------------------------------------------------------------
      Grüssle
      Bastian

      1. Moin!

        hoffe das reicht, um eine Aussage treffen zu können :-) ?

        Ja, genau das reicht. Mehr würde schon wieder ablenken. :)

        function myEvents(){
            var agree=confirm("Are you sure you wish to delete ?");
            if (agree)
                 document.forms[0].elements[task'].value='delete';´
            else
                 {.......abbruch.......}
        }

        <FORM name="select" id="select" ACTION = "webFolder/SelectedProject" METHOD = "GET">
        <input type = "submit"  name="delete" value ="delete" onClick=myEvents()>
        .....weitere <inputs>........

        Dieses Formularfragment zeigt mir, dass du das Formular abschicken willst, um den Löschvorgang auszuführen. Du willst es trotz klick nicht abschicken, wenn der Confirm negativ beantwortet wird.

        Mein Vorschlag dazu: Ins <form> setzt du onsubmit="return myEvents()", und die Funktion myEvents gibt dann entweder true oder false zurück (return true oder return false), je nachdem, wie der Benutzer sich entschieden hat.

        Ich glaube sogar, dass sich dein Problem noch wesentlich leichter lösen ließe:

        <form onsubmit="return confirm('Wirklich löschen?');" ...>

        Du brauchst keine Funktion dafür - es sei denn, deine Funktion muß noch irgendwelche Formularwerte setzen, was ich aber für blöde halten würde.

        Die Alternative: Du verhinderst den Klick auf die Taste, bzw. das Wirksamwerden desselben. Dann gilt das für die Funktion oben gesagte genauso, und onclick="return myEvents()" ist auch genauso gut wie das onsubmit im <form>. Damit ist es dann allerdings möglich, das Formular mit anderen Submit-Buttons oder per Javascript trotzdem ohne Nachfrage abzuschicken. Von zwei Buttons war aber nicht die Rede, also reicht eigentlich mein erster Vorschlag (onsubmit im <form>).

        - Sven Rautenberg

        --
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  4. Shalom,

    function deleteIt()
     {
      var agree=confirm("Are you sure you wish to delete ?");
      if (agree)
      document.forms[0].elements['task'].value='delete';
      else{return false;}
     }

    Des schein net zu funtzen :-(

    Habe ich das mit return false; richtig verstanden ?
    Der macht trotzdem fleisig weiter, soll er aber net...

    any other ideas ?
    oder funtzt des gar net und man kann eine action nicht abbrechen ?

    Grüssle

    Bastian

  5. Shalom,
    oh Mann,

    was für eine Aktion :-)

    Also, so gehts...
    -----------------------------------------------------------------
    <form name="del" onSubmit="return myEvents()"
      ACTION = "webFolder/SelectedProject" METHOD = "GET">
      <input type = "submit"  name="delete" value ="delete" >
      <input type= "hidden" name="NAMETEXTFELD[0][abc]" size="50" value="delete">
      "</form>"+

    <script language="JAVASCRIPT">
     function myEvents(){
     var agree=confirm("Are you sure you wish to delete ?");
     if (agree)
           return true;
     else
           {return false;}
     }
    </script>
    ----------------------------------------------------------------

    Ich habe die den DeleteButton aus dem urspünglichen <form> in dem mehrere Buttons liegen herausgenommen und ein delete-<form> erstellt.
    somit kann ich auch onSubmit() anwenden.

    :-) :-) :-) :-) ;-)

    Danke an alle, die mitgeholfen haben das Problem zu lösen :-)

    Gruss
    Bastian