• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Form submit abfangen

gentle

Neues Mitglied
Hi Leute,

ich habe gerade ein kleines Problem mit dem Abfangen eines Submits.

Und zwar habe ich ein Form (leider keine ID oder Name) mit mehreren Buttons.

Nun möchte ich nachdem der Button geklickt wurde mit Javascript den submit abfangen und ggf. abbrechen.

Ich kann leider keine onClick oder onSubmit dem Form hinzufügen da ich am HTML Code nichts verändern darf.
Es muss also alles mit Javascript gemacht werden.

Dazu habe ich auch schon etwas gefunden aber irgendwie scheint es nicht zu funktionieren.

1. Lösung:

Code:
$("form").submit(function() {
    alert("TEST");
      return false;
    });
2. Lösung:
Code:
var form = document.getElementById('myForm');
try {
  form.addEventListener("submit", someFunction);
} catch(e) {
  form.attachEvent("submit", someFunction); //Internet Explorer
}
Bei der 2. Lösung hab ich das Problem das mein Form keine ID oder Namen hat und somit wohl nicht möglich ist.
Nur die Input Buttons haben eine ID.

Bei der 1. Lösung klappt es einfach nicht. Ich hab es so im Script-Tag eingefügt aber es passiert nichts wenn ich dann auf einen Button klicke.

Weiß jemand woran das liegen könnte oder wie ich das sonst lösen könnte?
 
Zuletzt bearbeitet:
Werbung:
Hab mein Problem lösen können.
Es war nur ein fehler beim Einbinden der JQuery.

Aber hab nun ein anderes Problem.
Und zwar hat mein Form zwei input-Buttons.

Nun soll er bei einem Button meine Funktion ausführen und den Submit abfangen und
bei dem anderen Button soll er meine Funktion nicht ausführen und den Submit ausführen.

Die input-Buttons haben verschiedene ID´s, Namen und Values.

Gibt es da eine Möglichkeit?
 
Vielleicht einmal mit type="button" und einmal mit type="submit".

HTML:
<!DOCTYPE html>

<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Demo</title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

        <script type="text/javascript">

        $(document).ready(function () {
            $('#a').click(function () {
                alert('Hello!');
            })
        });

        </script>

    </head>

    <body>

        <form method="post" action="">

            <p><input id="a" type="button" value="Button" /></p>
            <p><input id="b" type="submit" value="Submit" /></p>

        </form>

    </body>

</html>
 
Werbung:
Hi,

danke für deine Antwort.
Ich hatte ja geschrieben das ich leider am HTML Code nichts ändern kann.
Die beiden inputs haben den type submit.

Deswegen muss ich das irgendwie in Javascript hinkriegen.
 
Vielen Dank für deine Antwort.

Das wird genau meine Lösung werden.

Allerdings weiß ich nicht genau wie ich das für 2 Buttons implementieren kann.
Also damit er bei 2 Buttons genau das macht.

Hab es so probiert aber es funktioniert nicht.

Code:
$(document).ready(function () {
            $('#a').click(function (e) {
                e.preventDefault();
                alert('Kein Abschicken');
            })
 $('#b').click(function (e) {
                e.preventDefault();
                alert('Kein Abschicken');
            })

});
 
Werbung:
Code:
$(document).ready(function () {
    var f = function (e) {
        e.preventDefault();
        alert('Kein Abschicken');
    };
    $('#a').click(f);
    $('#b').click(f);
});
 
Zurück
Oben