Dynamisch Formular absenden

Hallo!

Ich möchte vor dem Absenden eines Formulars eine Abfrage, ob man das Formular wirklich absenden möchte; beim Bestätigen soll das Formular abgesendet werden, andernfalls eben nicht.

Nachdem es mehrere verschiedene Formulare sein sollen, möchte ich den Namen des abzusendenden Formulars als Übergabeparameter mitgeben.

Ich habe mir mal ein Formular angelegt:

und einen Link zur JS-Methode:

[test](%23)

Das JS dazu sieht so aus:

 function confirmSendForm(formName){
 Check = confirm("Wollen Sie das Formular absenden?");
 if (Check==true){
 var script = "\<script\>document." + formName + ".submit();\<\/script\>";
 document.write(script);
 } else {

 }
 }

Die Überprüfung funktioniert noch, aber beim submitten des Formulars bekomme ich den JS-Fehler „document.test“ ist Null oder kein Objekt - das heißt es wird also schon korrekt mitgegeben, aber das Formular wird nicht gefunden / akzeptiert.

Wo könnte der Fehler liegen?

DANKE für Eure Antworten!

melvont

Hallo,

function confirmSendForm(formName){
Check = confirm(„Wollen Sie das Formular absenden?“);
if (Check==true){
var script = „<script>document.“ + formName +
„.submit();</script>“;
document.write(script);
</PRE>

Du schreibst einen submit-Button in die HTML-Seite, du schickst aber das Formular nicht ab. Du brauchst die Funktion .submit() eines Forms-Objekt (siehe http://de.selfhtml.org/javascript/objekte/forms.htm#submit)

Grüße,
Moritz

Hi Melvont,

Wo könnte der Fehler liegen?

versuch es mal so:

id=„test“ onsubmit=„alert(‚submitted!‘)“>
und

 function confirmSendForm(formName){
 if (confirm("Wollen Sie das Formular absenden?")){
 \<B\>document.getElementById(formName).submit();\</B\> 
 } else {

 }
 }

sowie

[Absenden](%23)

Sollte hinhauen. Beachte, dass das Event onSubmit ausgeführt wird, _bevor_ das Formular geschickt wird… aber das hattest Du wohl so gedacht?

Bye,
Rudy

Hallo Bettina,

Schau dier mal das Beispiel aus SelfHTML an. Hoffe das leistet das was du möchtest

Test
<!–
function CheckInput() {
for(i=0; i<document.forms[0].elements.length; ++i)
if(document.forms[0].elements[i].value == „“) {
alert(„Es wurden nicht alle Felder ausgefuellt!“);
document.forms[0].elements[i].focus();
return false;
}
return true;
}
//–>

Feld 1:

Feld 2:

Feld 3:

mfg

Dirk.Pegasus