Formular nicht Abschicken!

Geflügel

Erfahrenes Mitglied
Hallo,
ich habe ein Formular mit einem Submit-Button drinne:

Code:
<input type="submit" value="Abbrechen" onlick="return myFunc();"/>

Wenn der Button geklickt wird, dann soll das Formular NICHT abgeschickt werden. Es soll lediglich die Funktion myFunc() aufgerufen werden. Wie geht denn das?
 
HTML:
<input type="submit" value="Abbrechen" onlick="myFunc();return false;" />

Das funktioniert dann aber auch nur, wenn JavaScript aktiviert ist. Alternativ könntest du das ganze über ein anderes HTML-Tag lösen, zB:
HTML:
<button onlick="myFunc();return false;">Abbrechen</button>
oder
HTML:
<a href="" onlick="myFunc();return false;" class="buttonalike">Abbrechen</a>
etc
Wenn als irgendeine Reaktion auf ein Event return false erfolgt, wird die Aktion sofort abgebrochen. Das funktioniert aber, wie gesagt, nur mit aktivem JS (darum auch die Alternativen).

Wenn du zB bei einem <a href="#anchorname"> verhindern möchtest, dass der Textanker angesteuert wird, reicht ein einfaches <a href="#anchorname" onclick="return false"> zum Glücklichsein ;)

Ganz vergessen: Alternativ könntest du als immer gültigen Return-Wert deiner Funktion "false" nehmen und diesen gleich benutzen: <tag onlclick="return myFunc()">, wenn function myFunc() { /* ... */ return false; }.
 
Hallo zusammen,

entschuldigt, dass ich diesen alten Thread wieder ausgrabe... Ich habe genau das Selbe Problem wie der User "Geflügel". Ich habe ein Formular mit einem Submit-Button.
Wenn ein User JavaScript aktiviert hat, soll beim klicken auf submit nicht die <form action="..." ausgeführt werden und der Inhalt an eine externe Seite geschickt werden, sondern via Ajax etc. verarbeitet werden.
Leider funktioniert return false; nicht. Das Formular wird mit dem aktuellen Firefox trotzdem an die externe Seite geschickt.
Ich habe auch schon probiert einfach die Action um zu schreiben:
document.getElementById("formidx").action = "#";
Hier wird zwar nicht mehr die externe Seite geladen, aber die aktuelle Seite wird neu geladen :(

Mein Ziel ist es, dass die Seite für Leute mit aktiviertem JavaScript komfortabler wird, aber für Leute ohne JavaScript immer noch alle Funktionen nutzen können.

Weiß jemand Rat?

Edit: ich könnte natürlich von <noscript></noscript> gebrauch machen... Aber weiß noch jemand alternativen?
 
Zuletzt bearbeitet:
Zurück