• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

forms und elements

antiheld2000

New member
kann sein, das es schonmal gefragt wurde, ich fand bei meiner suche jedoch nix:
ich hab 2 fomulare in einer html datei. die eingaben sollen vorm abschicken gecheckt werden, mt der selben funktion.

funktion:

function chkFormularCommon(obj) {
if(document.forms[obj].elements[FeldName].value == "") {
alert("Bitte Ihren Namen eingeben!");
document.forms[obj].elements[FeldName].focus();
return false;
}
}

aufruf:

<form action="/cgi-bin/perl.pl" method="post" name="seitenvorschlag" onSubmit="return chkFormularCommon(this)">

seht ihr was, was ich offentsichtlich falsch mache?

gruss
antiheldos nich so gut in javascriptos
 
versuch mal so:
Code:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function chkFormularCommon() { 
if(document.seitenvorschlag.elements.value == "") { 
document.seitenvorschlag.elements.focus(); 
alert("Bitte Ihren Namen eingeben!");
return false;
}
else return true;
}
//  End -->
</script>


<form action="/cgi-bin/perl.pl" method="post" name="seitenvorschlag" onSubmit="return chkFormularCommon()">
 
aber

ich möchte die funktion ja noch von einem anderen formular aus aufrufen. und das kann denn ja nicht den gleichen namen haben wie das erste... also muss ich doch irgendwie an die funktion den namen des formulars übergeben. und dann bei elements den jeweiligen feldnamen.
 
Was ich an dem Script gut finde (und selbst noch nie gemacht habe) ist der Focus auf das Fehlerfeld.

Dein Fehler liegt wahrscheinlich (ausser Du hast vergessen es uns mit zu teilen) an einer unbekannten Variable Feldname.
 
stimmt

das muss der fehler sein. logisch. wobei ich jedoch dafür keine variable vergeben wollte, da ich dort eigentlich die benamung des feldes im form-tag einfügen wollte...
aber soweit das licht, welches mir eben aufging, richtig liegt, geht das gar nicht.
aber wenn ich folgendes machen würde, dann sollte es doch gehen? oder?

funktion:

function chkFormularCommon(obj,feld1,feld2) {
if(document.forms[obj].elements[feld1].value == "") {
alert("Bitte Ihren Namen eingeben!");
document.forms[obj].elements[feld1].focus();
return false;
}
if(document.forms[obj].elements[feld2].value == "") {
alert("Bitte Ihr Alter angeben!");
document.forms[obj].elements[feld2].focus();
return false;
}
}

aufruf:

<form action="/cgi-bin/perl.pl" method="post" name="seitenvorschlag" onSubmit="return chkFormularCommon(this,name,alter)">
 
Versuch mal mit diese js...vielleicht wird dir weiter helfen. auf jeden fall so viel ich verstehe wirds du das selbe ergebniss haben :D

Code:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function chkFormularCommon() {
missinginfo = "";
if (document.forms[obj].elements[Feld1].value == "") {
missinginfo += "\n     -  Ihren Name";
}
if(document.forms[obj].elements[Feld2].value == "") {
missinginfo += "\n     -  Ihr Alter";
}

if (missinginfo != "") {
missinginfo ="Bitte\n" +
missinginfo + "\n" +
"\neingeben!";
alert(missinginfo);
return false;
}
else return true;
}
//  End -->
</script>

aufruf:

<form method="POST" name="seitenvorschlag" action="/cgi-bin/perl.pl" onSubmit="return chkFormularCommon();">

diese js funzt in 2 formulare in eine html datei.
 
sollte gehen

Aber ich habe keine Ahnung, wie das mit dem onsubmit läuft, ob das Formular dann wirklich nicht abgesendet wird...musst selber wissen/testen.
 
Zurück
Oben