Confirm-box soll bei abbrechen nix machen
fraenzer
- javascript
Moinsen!
Hab n kleines Verständnisproblem:
Hab folgenden Code:
<!--
function Abmelden() {
Check = confirm("Text");
if(Check == true) {
document.formAussen.submit();
}
}
//-->
Soweit alles wunderbar, die Funktion wird mit nem Eventhandler aufgerufen, wenn der Nutzer OK drückt, wird quasi der Submitbutton gedrückt, und wenn der User Abbrechen klickt, passiert nix. Letzteres hab ich jedenfalls gedacht, leider wird jedoch auch bei Klick auf Abbrechen der Submitbutton getätigt, so dass also trotzdem etwas passiert.
Mach ich da was falsch?
Vielen Dank
Gruß
fraenzer
<!--
Das ist heutzutzage überflüssig.
function Abmelden() {
Check = confirm("Text");
if(Check == true) {
document.formAussen.submit();
}
}
Du suchst den onsubmit Handler
<form action=".." onsubmit="return confirm("Text");">
Struppi.
Danke für den Tipp!
mfg
fraenzer
... leider wird jedoch auch bei Klick auf Abbrechen der Submitbutton getätigt, so dass also trotzdem etwas passiert.
Mach ich da was falsch?
Welcher event-Handler löst denn die Funktion aus? Ist es ein onclick auf den submit-button?
Probier mal folgendes:
function Abmelden() {
if(confirm("Text")) {
document.formAussen.submit();
}
else
{
return false;
}
}
LG
Rebecca
... leider wird jedoch auch bei Klick auf Abbrechen der Submitbutton getätigt, so dass also trotzdem etwas passiert.
Mach ich da was falsch?
Welcher event-Handler löst denn die Funktion aus? Ist es ein onclick auf den submit-button?
Probier mal folgendes:
function Abmelden() {
if(confirm("Text")) {
document.formAussen.submit();
}
else
{
return false;
}}
LG
Rebecca
Hatte erst nen onclick, jetzt nen onsubmit, das funzt auch soweit.
Allerdings hab ich jetzt n neues Problem:
ich hab in der Form noch ne zweite Form, und in dieser ist ebanfalls ein Submit-Button. Leider wird jetzt auch beim Drücken auf diesen Button die confirm-Bix aufgerufen.
<form name="aussen" ... onsubmit="return confirm('text');">
<form name="innen" ...>
<input type="submit" name="butInnen" ...>
</form>
<input type="submit" name="butAussen" ...>
</form>
Gibt´s ne Möglichkeit, den Button butInnen auf die innere Form zu beschränken, und den Button butAussen auf die äussere Form anzuwenden?
Dachte immer, dass das irgendwie automatisch verschachtelt funktioniert, aber irgendwie dachte das Programm wohl anders.
Vielen Dank!
Allerdings hab ich jetzt n neues Problem:
ich hab in der Form noch ne zweite Form
Das ist verboten! Illegales HTML. Kein Browser wird das verarbeiten.
Allerdings hab ich jetzt n neues Problem:
ich hab in der Form noch ne zweite FormDas ist verboten! Illegales HTML. Kein Browser wird das verarbeiten.
So ist es. Du solltest auf valides HTML achten.
Das ist wahrscheinlich auch der Grund warum es nicht funktioniert.
OK, dann nimm ich das ganze eben in eine Form. Seh ich das richtig, dass ich dann die Möglichkeit habe, über eine eigene Javascript-Funktion zu steuern, wann die confirm-Box angezeigt wird und wann nicht?
Ne Möglichkeit wäre denk ich mal, das return confirm nicht direkt im form-Tag unterzubringen, sondern ne Funktion aufzurufen, hier die VBalidierung vorzunehmen, welcher Button gedrückt wurde, und dann entsprechend verfahren, entweder mit oder ohne confirm-Box.
Das sieht mir aber ziemlich gemaggelt aus, also die Frage, ob das auch irgendwie anders und einfacher geht?
Danke!
("Irgendwie hab ich das mit der Antwort-Hierarchie noch nicht so ganz rauss, sorry!")
Ne Möglichkeit wäre denk ich mal, das return confirm nicht direkt im form-Tag unterzubringen, sondern ne Funktion aufzurufen, hier die VBalidierung vorzunehmen, welcher Button gedrückt wurde, und dann entsprechend verfahren, entweder mit oder ohne confirm-Box.
Klar,
<form onsubmit="return Funktion(this);">
function Funktion(form)
{
// Überprüfung mit form
return false; // oder true
}
return false verhindert das abschicken des Formulares.
Struppi.
Hallo,
("Irgendwie hab ich das mit der Antwort-Hierarchie noch nicht so ganz rauss, sorry!")
wieso eigentlich nicht? Das müsste doch intuitiv funktionieren!
Der Beitrag, den du schreibst, erscheint als Antwort auf den, der direkt über dem Textfeld steht. Was ist daran so schwer zu schwer, dass immer wieder jemand das Prinzip nicht erkennt?
So long,
Martin